setVisible之后如何动态修改JFrame的大小? 一般都是setSize子后调用setVisible,但是如何在setVisible之后动态修改JFrame的大小?给分20。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我调用了validate, repain等方法都没有效果,请问是什么原因? 我试了一下,好象不用任何操作就可以:import java.awt.Dimension;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class Test extends JFrame { private JPanel pane = new JPanel(); private JLabel label = new JLabel(); public Test() { super("Test"); label.setText("Width = 300, Height = 200"); pane.add(label); this.getContentPane().add(pane); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(300, 200); this.setVisible(true); MyThread thread = new MyThread(this); thread.start(); } public static void main(String[] arg) { new Test(); } public void setLabelText(String text) { this.label.setText(text); }}//用这个线程来控制JFrame的sizeclass MyThread extends Thread { private Test frame = null; public MyThread(Test frame) { this.frame = frame; } public void run() { for (int i = 0; i < 10; i++) { try { Thread.sleep(1000); } catch (InterruptedException e) { } Dimension dim = frame.getSize(); frame.setSize(dim.width + 10, dim.height + 10); frame.setLabelText("Width = " + (dim.width + 10) + ", Height = " + (dim.height + 10)); } }} 简易代码package frmsize;import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JButton;import java.awt.Rectangle;import java.awt.event.MouseEvent;import java.awt.event.MouseAdapter;public class Frame1 extends JFrame { static Frame1 f; public Frame1() { try { jbInit(); } catch (Exception exception) { exception.printStackTrace(); } } private void jbInit() throws Exception { getContentPane().setLayout(null); this.setSize(600,400); this.setVisible(true); jButton1.setBounds(new Rectangle(139, 195, 142, 48)); jButton1.setText("jButton1"); jButton1.addMouseListener(new Frame1_jButton1_mouseAdapter(this)); this.getContentPane().add(jButton1); } public static void main(String stra[]){ f = new Frame1(); } JButton jButton1 = new JButton(); public void jButton1_mouseClicked(MouseEvent e) { //1参数X坐标,2参数Y坐标,3参数宽度,4参数高度 f.setBounds(0,0,50,50); }}class Frame1_jButton1_mouseAdapter extends MouseAdapter { private Frame1 adaptee; Frame1_jButton1_mouseAdapter(Frame1 adaptee) { this.adaptee = adaptee; } public void mouseClicked(MouseEvent e) { adaptee.jButton1_mouseClicked(e); }} try。。。catch问题 界面重叠 关于显示提示信息对话框 如何控制FigureCanvas的滚动条被拖动后的位置? java程序中配置文件的加载 如何用JAVA代码生成一个类? 三个JComboBox连动的问题 小程序访问数据库在IE下运行为何没有效果? JApplet中sql数据库访问的问题??? 简单问题!!!!送分!!! 请教!如何从socket中解析出需要的数据? 初学者第一次提问,希望大家帮个忙.关于goole的接口
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;public class Test extends JFrame { private JPanel pane = new JPanel(); private JLabel label = new JLabel(); public Test() {
super("Test");
label.setText("Width = 300, Height = 200");
pane.add(label);
this.getContentPane().add(pane);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300, 200);
this.setVisible(true); MyThread thread = new MyThread(this);
thread.start();
} public static void main(String[] arg) {
new Test();
} public void setLabelText(String text) {
this.label.setText(text);
}}
//用这个线程来控制JFrame的size
class MyThread extends Thread {
private Test frame = null; public MyThread(Test frame) {
this.frame = frame;
} public void run() {
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
Dimension dim = frame.getSize();
frame.setSize(dim.width + 10, dim.height + 10);
frame.setLabelText("Width = " + (dim.width + 10) + ", Height = " + (dim.height + 10));
}
}
}
package frmsize;import java.awt.BorderLayout;import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;public class Frame1 extends JFrame {
static Frame1 f;
public Frame1() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} private void jbInit() throws Exception {
getContentPane().setLayout(null);
this.setSize(600,400);
this.setVisible(true);
jButton1.setBounds(new Rectangle(139, 195, 142, 48));
jButton1.setText("jButton1");
jButton1.addMouseListener(new Frame1_jButton1_mouseAdapter(this));
this.getContentPane().add(jButton1);
}
public static void main(String stra[]){
f = new Frame1();
} JButton jButton1 = new JButton();
public void jButton1_mouseClicked(MouseEvent e) {
//1参数X坐标,2参数Y坐标,3参数宽度,4参数高度
f.setBounds(0,0,50,50);
}
}
class Frame1_jButton1_mouseAdapter extends MouseAdapter {
private Frame1 adaptee;
Frame1_jButton1_mouseAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
} public void mouseClicked(MouseEvent e) {
adaptee.jButton1_mouseClicked(e);
}
}