网站首页 > 文章中心 > 其它

java代码获取布局宽度

作者:小编 更新时间:2023-08-16 19:16:54 浏览量:20人看过

java怎么获取JFrame的内部高度和宽度,就是去边框和标题的高度和宽度?就像VB的ScaleHeight就是真实高度

添加窗口open监听,getContentPane().getSize()可以获取当前真实内部大小,用JFrame的高度-getContentPane().getSize().height = 标题高度,设置JFrame高度为想要的内部高度◆标题高度

addWindowListener(new?WindowAdapter()?{

public?void?windowOpened(WindowEvent?ev)?{

int?realH?=?getContentPane().getSize().height;

int?titleH?=?dh?-?realH;

}

});

java 能获取到文字所使用某种字体后的宽度及高度吗

如果你指的是文字写入图片时的宽度的话,是可以获取的到的.

高度等于字体大小,即size.

宽度可以通过FontMetrics接口可以获取的到.

参考代码如下:

// 创建图片对象

BufferedImage bImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

// 设置字体

// 获取文字宽度

int textWidth = fm.stringWidth(text);

java 如何获取一个2维数组的长和宽?

如一定义二维数组array[][],则获得该数组的长度(即行数)的代码为array.length,对于每一行的宽度可以循环获得,如获得第i行的宽度(i的范围是0~array.length-1)的代码为array[i].length.

其他维数组获得长度信息依次类推.

JAVA 布局关于setBounds(int x,int y,int width,int height)求指导!

不会压缩,会显示不全的...

你用了setBounds() ,最好用跟图片一样大的高度,宽度, 不然的话就压缩一下吧...

JAVA 获得窗口大小问题

楼主是想让控件随frame大小变化

首先,建一个frame文件(Application应用程序),在Design中将this中的layout设置为null(不要布局器);

第四,在this的中间建一个表格用来显示数据库数据的内容,在Swing Container页签,选取jScrollPane图标,在this的中间拖拽一个大的区域,接着在组件盘内点选Swing 页签,选取JTable图标,将Jtable加入到jScrollPane中.

这样我的界面就做好了,但这个界面不能随窗口自动调整大小.下面编程实现手动布局,使各区域能随窗口自动调整大小.

先用鼠标选中this窗体,再选择右边的事件Events中的componentResized,双击鼠标就进到void this_componentResized(ComponentEvent e) {}中,在{}中写入下列代码:

//设置jPanel1的起点坐标

jPanel1.setLocation(0,0);

//设置jPanel1的高度和宽度

jPanel1.setSize(this.getWidth(),jPanel1.getHeight());

//设置jScrollPanel的起点坐标

jScrollPane1.setLocation(0,jPanel1.getHeight());

//设置jScrollPanel的高度和宽度

程序在"查询"按钮事件中模拟从数据库中取数据,并显示在表格中.为了简洁,程序没有对输入条件、增加、删除、修改等进行处理.

程序源代码:

package src

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.util.Vector;

import javax.swing.table.DefaultTableModel;

public class Frame1 extends JFrame {

JPanel jPanel1 = new JPanel();

JScrollPane jScrollPane1 = new JScrollPane();

JTable jTable1 = new JTable();

JLabel jLabel1 = new JLabel();

JTextField jTextField1 = new JTextField();

JButton jButton1 = new JButton();

public Frame1() {

try {

jbInit();

catch(Exception e) {

e.printStackTrace();

public static void main(String[] args) {

Frame1 frame1 = new Frame1();

//定义显示窗体的大小显示窗口

frame1.show();

//激活"查询"按钮事件

frame1.jButton1.doClick();

private void jbInit() throws Exception {

this.getContentPane().setLayout(null);

jPanel1.setBackground(Color.red);

jPanel1.setLayout(null);

jScrollPane1.getViewport().setBackground(Color.pink);

jLabel1.setText("输入查内容");

jTextField1.setText("");

jButton1.setText("查询");

jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));

this.addHierarchyBoundsListener(new Frame1_this_hierarchyBoundsAdapter(this));

this.addComponentListener(new Frame1_this_componentAdapter(this));

this.getContentPane().add(jPanel1, null);

jPanel1.add(jTextField1, null);

jPanel1.add(jButton1, null);

jPanel1.add(jLabel1, null);

this.getContentPane().add(jScrollPane1, null);

jScrollPane1.getViewport().add(jTable1, null);

void this_componentResized(ComponentEvent e) {

void jButton1_actionPerformed(ActionEvent e) {

// "查询"按钮事件,模拟从数据库中取数据并显示在表格中

try

{

Vector vcol = new Vector(); //列名

Vector vrow = new Vector(); //内容

//用一个for循环来模拟数据库的内容

vcol.addElement("列"◆col);

for (int row=1;row101;row◆◆) {

Vector vr1 = new Vector();

vr1.addElement(row◆"/"◆col);

vrow.addElement(vr1);

DefaultTableModel dtm=new DefaultTableModel(vrow,vcol);

jTable1 = new JTable(vrow,vcol);

//滚动条设置左右滚

jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

//在滚动条中放入表

this.jScrollPane1.getViewport().add(jTable1, null);

catch(Exception ex)

System.out.println("错误:" ◆ ex);

class Frame1_this_hierarchyBoundsAdapter extends java.awt.event.HierarchyBoundsAdapter {

Frame1 adaptee;

Frame1_this_hierarchyBoundsAdapter(Frame1 adaptee) {

this.adaptee = adaptee;

public void ancestorResized(HierarchyEvent e) {

class Frame1_this_componentAdapter extends java.awt.event.ComponentAdapter {

Frame1_this_componentAdapter(Frame1 adaptee) {

public void componentResized(ComponentEvent e) {

adaptee.this_componentResized(e);

class Frame1_jButton1_actionAdapter implements java.awt.event.ActionListener {

Frame1_jButton1_actionAdapter(Frame1 adaptee) {

public void actionPerformed(ActionEvent e) {

adaptee.jButton1_actionPerformed(e);

以上就是土嘎嘎小编为大家整理的java代码获取布局宽度相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章