public class MainMenu extends JFrame {
private JPanel panel,file_list_panel;
private JPanel contentPane;
private JMenuBar menuBar;
private JMenu mnNewMenu1,mnNewMenu2,mnNewMenu3;
private JMenuItem mt1,mt2,mt3;
private JPanel right,left ,bottom;
private JSplitPane spver ,sphor;
private JTabbedPane tabbedPane;
private JLabel label;
private JList<String> list_1;
private JScrollPane jscroll_list;
private DefaultListModel listmodel_1 = new DefaultListModel();
public MainMenu() {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);
setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
int intValue = Integer.parseInt( "EEEEEE",16);
Color aColor = new Color( intValue );
UIManager.put("TabbedPane.background", new Color(230, 216, 174));
UIManager.put("TabbedPane.selected", Color.WHITE);
UIManager.put("TabbedPane.contentAreaColor",aColor );
UIManager.put("TabbedPane.focus", Color.WHITE);
setTitle("Main Menu");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//setBounds(100, 100, 848, 680);
//setLocation(10, 10);
setLocationRelativeTo(null); // set jFrame alignment to center
//parent(first) panel
contentPane = new JPanel();
contentPane.setBackground(Color.BLACK);
contentPane.setBorder(new EmptyBorder(2, 2, 2, 2));
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));
//Main Menu BAR
menuBar = new JMenuBar();
menuBar.setFont(new Font("Tekton Pro Ext", Font.PLAIN, 11));
setJMenuBar(menuBar);
//Menu 1
mnNewMenu1 = new JMenu("New menu");
menuBar.add(mnNewMenu1);
//Menu 1 MenuItem 1
mt1 = new JMenuItem("Browse New Project");
mt1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
BrowseScreen frame = new BrowseScreen();
frame.setVisible(true);
}
});
mnNewMenu1.add(mt1);
//second panel
panel = new JPanel();
contentPane.add(panel, BorderLayout.CENTER);
panel.setLayout(new BorderLayout(0, 0));
spver =new JSplitPane(JSplitPane.VERTICAL_SPLIT);
spver.setDividerLocation(500);
spver.setEnabled(false);
bottom=new JPanel();
sphor =new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
sphor.setEnabled(false);
spver.setTopComponent(sphor);
spver.setBottomComponent(bottom);
bottom.setLayout(null);
panel.add(spver);
sphor.setDividerLocation(180);
left =new JPanel();
right =new JPanel();
sphor.setRightComponent(right);
right.setLayout(new GridLayout(0, 1, 0, 0));
tabbedPane = new JTabbedPane(JTabbedPane.TOP);
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
JPanel tab1 = new JPanel();
tabbedPane.addTab("fffa", tab1);
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
JPanel tab2 = new JPanel();
tabbedPane.addTab("TAB1", tab2);
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
right.add(tabbedPane);
sphor.setLeftComponent(left);
left.setLayout(new BorderLayout(0, 0));
file_list_panel= new JPanel();
file_list_panel.setBackground(Color.BLACK);
file_list_panel.setForeground(Color.WHITE);
label = new JLabel("Java Files of Project");
label.setBackground(Color.BLACK);
label.setForeground(Color.WHITE);
label.setFont(new Font("Garamond", Font.BOLD, 14));
file_list_panel.add(label);
left.add(file_list_panel, BorderLayout.NORTH);
list_1 = new JList<String>(listmodel_1);
jscroll_list = new JScrollPane(list_1);
left.add(jscroll_list, BorderLayout.CENTER);
}
public void setList(Vector<String> files){
listmodel_1.removeAllElements();
list_1.removeAll();
for(int i=0;i<files.size();i++)
listmodel_1. addElement(files.elementAt(i));
list_1.setModel(listmodel_1);
this.invalidate();
this.validate();
this.repaint();
}
}
setList在调用setVisible(false)之前从browse窗口调用;ie.当浏览窗口消失时调用此方法。它执行方法中的所有操作,但不在MainMenu公共空号setFileList()中更新它{MainMenu mm=new MainMenu();mm.setlist(java_files);}
list_1-jlist listmodel_1=DefaultListModel
我试图刷新框架,但在将新列表添加到主窗口后没有刷新...
在JList更新之前,我在另一个窗口中浏览文件,然后它被设置为setVisible(false),然后MainMenu得到焦点并调用setList方法,但它没有改变
基本上,您正在创建一个新的JList
并将模型与之关联,但这对屏幕上的JList
没有影响
public void setList(Vector<String> files){
// Good...
listmodel_1.removeAllElements();
// Not required, has nothing to do with the items in the list
//list_1.removeAll();
// Good
for(int i=0;i<files.size();i++)
listmodel_1. addElement(files.elementAt(i));
// This here is your problem
//list_1=new JList<String>(listmodel_1);
// Because I have no idea what model list_1 is actually using...
list_1.setModel(listmodel_1);
//list_1.setSelectedIndex(0);
//this.invalidate();
//this.validate();
//this.repaint();
}
我尝试重新验证()和重新绘制(),但没有改变。 现在有趣的事情来了。如果我用for(int I=0;I 只有当我用另一个我手动填写的列表创建和设置新模型时,我才能查看更新。
问题内容: 我正在尝试创建一个简单的程序来管理员工。尝试添加新员工时,我似乎无法让该员工显示在Jlist上。 主机… 添加员工的对话… 这就是我用来添加员工的方法 我认为这是正确的方法,但似乎无效。任何帮助将不胜感激。 问题答案: 有两个问题, 第一个: 不好:。使用equals(…)或equalsIgnoreCase(…)。理解检查是否绝对不是您感兴趣的 引用 相等性。您需要 函数 相等性,这是
下面我有一个方法,调用时应该在列表中显示arrayList元素的属性: 但是,当调用它时,会出现以下错误: 线程 “AWT-EventQueue-0” java.lang.ClassCastException: supermarketiteration2 中的异常。ShopJFrame$63 不能投射到 javax.swing.DefaultListModel 我该如何解决这个问题? 编辑** 如
我正在尝试移除(或者只是设置为不可见)我的JList的背景和边框。 当我在它上设置透明颜色时,我的JList背景保持白色。 这是我的自定义jcombox呈现器类: 我尝试在每个组件上放置和,但是没有好的结果。 一个解决方案是调整列表中图像的大小,但我的图像不是矩形的,所以列表背景的角是可见的。
我正在尝试将Hibernate envers添加到我的应用程序中。我使用的数据库已经有很多数据了。这是Hibernate配置 这里是我要审核的实体(简化版) 当我启动雄猫服务器时,出现此错误 我调试了,在第1204行Configuration.class(包org.hibernate.cfg)中,我看到应用程序试图创建REVINFO表。在那之前,table leCatalo为空,但在创建REVIN
问题内容: 我正在使用sqlalchemy引擎创建表,但是即使我的create语句执行没有错误,当我尝试预先设置角色时,表也不会显示在数据库中。 对于上下文,我使用的是python 3.6,sqlalchemy版本1.2.17和postgres 11.1,并且角色“ read_write”绝对存在,并且具有在公共场所创建表的所有必要权限(我在pgadmin中运行上面的确切序列没有问题)。 有谁知道