你好,
我对SOF的第一个问题。我在使用JScrollPane和JList时遇到问题。我已经用getter为列表创建了类以获取列表对象
package frontend;
import javax.swing.*;
public class GeneratedList
{
private JList<String> List;
public GeneratedList() {
DefaultListModel<String> listModel = new DefaultListModel<>();
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
listModel.addElement("1");
List = new JList<>(listModel);
}
public JList<String> getList() {
return List;
}}
并获得了用于制作整个框架的类GUI。
package frontend;
import javax.swing.*;
import java.awt.*;
public class GUI
{
JFrame frame = new JFrame("QR Generator");
BorderLayout borderLayout = new BorderLayout();
public static JFormattedTextField inputField = new JFormattedTextField("XX.XXXX.XX");
JButton generateButtton = new JButton("Generate");
JButton printButton = new JButton("Print");
public GUI()
{
frame.setVisible(true);
frame.setLayout(borderLayout);
frame.setSize(new Dimension(200,200));
frame.add(inputField,BorderLayout.NORTH);
frame.add(generateButtton,BorderLayout.NORTH);
frame.add(printButton,BorderLayout.EAST);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setSize(200,300);
frame.add(scrollPane.add(new GeneratedList().getList()));
}}
在这种代码风格中,它可以工作。列表可见,但没有滚动条
框架视图 第一个问题是为什么?:)第二个问题是为什么在这种语法中,列表在框架上不可见。
package frontend;
import javax.swing.*;
import java.awt.*;
public class GUI
{
JFrame frame = new JFrame("QR Generator");
BorderLayout borderLayout = new BorderLayout();
public static JFormattedTextField inputField = new JFormattedTextField("XX.XXXX.XX");
JButton generateButtton = new JButton("Generate");
JButton printButton = new JButton("Print");
JScrollPane scrollPane = new JScrollPane();
public GUI()
{
frame.setVisible(true);
frame.setLayout(borderLayout);
frame.setSize(new Dimension(200,200));
frame.add(inputField,BorderLayout.NORTH);
frame.add(generateButtton,BorderLayout.NORTH);
frame.add(printButton,BorderLayout.EAST);
frame.add(scrollPane);
scrollPane.add(new GeneratedList().getList());
}
}
问题来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。