把Frame的layout设置为XYLayout即可把控件放到自己指定的位置和大小。
下面是Jbuilder 代码:
package test;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;public class Frame1 extends JFrame {
JPanel contentPane;
XYLayout xYLayout1 = new XYLayout();
JList jList1 = new JList();
JTextField jTextField1 = new JTextField();
JTextField jTextField2 = new JTextField();
JComboBox jComboBox1 = new JComboBox(); /**Construct the frame*/
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**Component initialization*/
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(xYLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");
jTextField1.setText("jTextField1");
jTextField2.setText("jTextField2");
contentPane.add(jList1, new XYConstraints(52, 63, 86, 32));
contentPane.add(jTextField1, new XYConstraints(223, 58, 124, 31));
contentPane.add(jTextField2, new XYConstraints(234, 169, 100, 27));
contentPane.add(jComboBox1, new XYConstraints(107, 134, -1, -1));
}
/**Overridden so we can exit when window is closed*/
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
}怎么样?
下面是Jbuilder 代码:
package test;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;public class Frame1 extends JFrame {
JPanel contentPane;
XYLayout xYLayout1 = new XYLayout();
JList jList1 = new JList();
JTextField jTextField1 = new JTextField();
JTextField jTextField2 = new JTextField();
JComboBox jComboBox1 = new JComboBox(); /**Construct the frame*/
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**Component initialization*/
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(xYLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");
jTextField1.setText("jTextField1");
jTextField2.setText("jTextField2");
contentPane.add(jList1, new XYConstraints(52, 63, 86, 32));
contentPane.add(jTextField1, new XYConstraints(223, 58, 124, 31));
contentPane.add(jTextField2, new XYConstraints(234, 169, 100, 27));
contentPane.add(jComboBox1, new XYConstraints(107, 134, -1, -1));
}
/**Overridden so we can exit when window is closed*/
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
}怎么样?
我不是用jbuild,那来的系统生成代码?
设置layout为null是可以的,但layou为null后,但要设置控件的大小才可以看到所添加的控件哦,所以你能不能说说在sun java下怎么设置控件的大小以及控制控件的添加位置?
或者把Frame的layout设置为null!
如楼上!
可以设置!
Button b1 = new Button("Test");
contentPane.add(b1)
可以通过编译,但运行后,根本找不到该按钮呀?是不是add的时候还要加的什么,该怎么加呢?
compononet.setBounds(x,y,w,h);
ok?