gpt4 book ai didi

java - JTextField 在处理 JFrame 的事件中太大

转载 作者:行者123 更新时间:2023-12-01 14:50:26 25 4
gpt4 key购买 nike

我是JAVA编程新手,我正在尝试制作一个内存修改GUI程序,下面是代码。我的 JTextField 太大了,关于如何解决这个问题有什么建议吗?如果找到替代方法来完成上述任务,我也将不胜感激。感谢您的宝贵时间

JMenuBar menubar;
JMenu data,array,linkedlist,strings,stacks,tree,graphs,queues;
JMenuItem dtypeint,dtypefloat,dtypechar;

public GUI(){
super("Data Structures Assignment");
System.out.println("Select the Above mentioned Options for Memory Modification");
setLayout(new FlowLayout());
menubar = new JMenuBar();
add(menubar);

data = new JMenu("Basic Data Types");
menubar.add(data);

array = new JMenu("Arrays");
menubar.add(array);

linkedlist = new JMenu("Linked List");
menubar.add(linkedlist);

strings = new JMenu("Strings");
menubar.add(strings);

stacks = new JMenu("Stacks");
menubar.add(stacks);

tree = new JMenu("Tree");
menubar.add(tree);

graphs = new JMenu("Graphs");
menubar.add(graphs);

queues = new JMenu("Queues");
menubar.add(queues);

dtypeint = new JMenuItem("Integer");
data.add(dtypeint);

dtypefloat = new JMenuItem("Float");
data.add(dtypefloat);

dtypechar = new JMenuItem("Character");
data.add(dtypechar);

setJMenuBar(menubar);

thehandler handler = new thehandler();
dtypeint.addActionListener(handler);
dtypefloat.addActionListener(handler);
dtypechar.addActionListener(handler);
}
private class thehandler implements ActionListener{
public void actionPerformed(ActionEvent event){

if(event.getSource()==dtypeint){
setLayout(new GridLayout());
Frame F = new JFrame();
F.setVisible(true);
F.setSize(200,200);
final JTextField item1;
item1 = new JTextField("Word Size");
item1.setColumns(15);
F.add(item1);

}
}
}

}

最佳答案

JFrame 的默认布局是 BoderLayout。默认情况下,组件会添加到 BorderLayout 的中心,并将调整大小以占据所有可用空间。因此,您需要使用布局管理器的正确组合来获得您想要的效果。

也许是这样的:

//F.add(item1);
JPanel panel = new JPanel(); // uses FlowLayout by default
panel.add(item1);
F.add(panel, BorderLayout.NORTH);

阅读 Layout Managers 上的 Swing 教程了解更多信息和示例。

关于java - JTextField 在处理 JFrame 的事件中太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com