gpt4 book ai didi

java - 如何从文件中读入并在 GUI 中的文本字段/标签中显示?

转载 作者:行者123 更新时间:2023-11-30 07:15:29 25 4
gpt4 key购买 nike

我有一个包含名称列表的文本文件。我正在尝试创建一个 GUI,然后将文件中的文本读入 GUI 中并将其显示在文本字段/标签/任何内容中。我可以创建 GUI 并读取代码,但不知道如何在 GUI 中显示读取的文本。下面是我的代码。当我运行时,它显示 GUI,但不显示文本读取内容。

public class ASSIGNMENT {

private JLabel lbl1;
private JTextField txt1;
private JPanel panel;
private JFrame frame;

public ASSIGNMENT(){
createGUI();
addLabels();

frame.add(panel);
frame.setVisible(true);
}

public void createGUI(){
frame = new JFrame();
frame.setTitle("Books");
frame.setSize(730, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

panel = new JPanel();
panel.setLayout(null);
panel.setBounds(10, 10, 10, 10);
panel.setBorder(BorderFactory.createLineBorder (Color.decode("#1854A2"), 2));
frame.add(panel);
}

public void addLabels(){
lbl1 = new JLabel(" ");
lbl1.setBounds(700, 450, 120, 25);
lbl1.setForeground(Color.white);
panel.add(lbl1);
}

public void books() throws IOException{
String result = "books2.txt";
String line;
LineNumberReader lnr = new LineNumberReader(new FileReader(new File("books2.txt")));
while((line = lnr.readLine()) != null){
result += line;
}
JLabel label1 = new JLabel(result);
panel.add(label1);
}


public static void main(String[] args) throws Exception{
new ASSIGNMENT();

}
}

最佳答案

您好,您的代码正在运行。您基本上需要正确设置布局管理器。你有两个选择。 选项一是使用 NULL 和布局管理器。在这种情况下,您需要使用 setBounds() 来定位所有组件。

第二个选项是使用更加用户友好的布局管理器,不需要像 GridBagLayout 这样的布局管理器。下面您可以看到针对 GridBagLayout 更正的代码。我再说一遍,将 null 作为管理器是可能的,但是您需要在 setBounds 的帮助下用坐标定位元素

public class ASSIGNMENT3 {

private JLabel lbl1;
private JTextField txt1;
private JPanel panel;
private JFrame frame;

public ASSIGNMENT3() throws IOException{
createGUI();
addLabels();
books();

frame.add(panel);
frame.setVisible(true);
}

public void createGUI(){
frame = new JFrame();
frame.setTitle("Books");
frame.setSize(730, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

panel = new JPanel();
panel.setLayout(new GridBagLayout());
panel.setBounds(10, 10, 10, 10);
panel.setBorder(BorderFactory.createLineBorder (Color.decode("#1854A2"), 2));
frame.add(panel);
}

public void addLabels(){
lbl1 = new JLabel("Labe 1 ");
lbl1.setBounds(700, 450, 120, 25);
lbl1.setForeground(Color.white);
panel.add(lbl1);
}

public void books() throws IOException{
String result = "books2.txt";
String line;
// LineNumberReader lnr = new LineNumberReader(new FileReader(new File("books2.txt")));
// while((line = lnr.readLine()) != null){
// result += line;
// }
//
txt1 = new JTextField(20);
txt1.setText(result);
JLabel label1 = new JLabel(result);
panel.add(label1);
panel.add(txt1);
}


public static void main(String[] args) throws Exception{
new ASSIGNMENT3();

}
}

关于java - 如何从文件中读入并在 GUI 中的文本字段/标签中显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38487342/

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