- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 JtextField 和 Jcombobox。每当从文本字段和组合框中选择值并单击添加按钮时,值应该出现在表中。第一行已正确添加。当我尝试添加第二行时,第一行值被替换为新值,但不添加第二行。每次单击“添加”按钮时,都应将值添加到表中,而不删除旧值,并且单击“删除”时,我应该能够删除该行..我该如何实现这一点。这是我的代码
public static void main(String[] args)
{
// TODO Auto-generated method stub
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try
{
ModelSelection modelselection=new ModelSelection();
modelselection.setVisible(true);
}
catch(Exception e)
{
e.printStackTrace();
}
}
});
}
public ModelSelection() throws TooManyListenersException
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
setBounds(240, 30, 906, 658);
contentPane =new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
Image im=new ImageIcon(this.getClass().getResource("/sprinkle.jpg")).getImage();
setContentPane(new JLabel(new ImageIcon(im)));
contentPane.setLayout(null);
modelSelection=new JLabel("MODULE SELECTION");
modelSelection.setBounds(240, 20, 450,40);
modelSelection.setFont(new Font("arial",Font.BOLD,40));
Color modellabel = new Color(16,180,205);
modelSelection.setForeground(modellabel);
add(modelSelection);
lab=new JLabel("Choose S-NET device and S-NET ID");
lab.setBounds(30, 75, 500,40);
lab.setFont(new Font("arial",Font.BOLD,25));
Color label = new Color(176,224,230);
lab.setForeground(label);
add(lab);
choice=new JLabel("S-Net Device -");
choice.setBounds(30, 145, 200, 20);
choice.setFont(new Font("arial",Font.BOLD,25));
Color choicecolor = new Color(135,206,250);
choice.setForeground(choicecolor);
add(choice);
String devicesnames[]={"SW-LE-4","SD-LD-4","SR-RL-8","SD-FL-4","SD-FN-2"};
mod=new JComboBox(devicesnames);
mod.setBounds(260,140,230,35);
Color modcolor = new Color(173,216,230);
mod.setBackground(modcolor);
mod.setFont(new Font("arial",Font.BOLD,17));
Color border=new Color(30,144,255);
mod.setBorder(new LineBorder(border, 2));
mod.setSelectedIndex(-1);
add(mod);
snet=new JLabel("S-Net ID -");
snet.setBounds(30, 200, 200, 20);
snet.setFont(new Font("arial",Font.BOLD,25));
Color snetcolor = new Color(135,206,250);
snet.setForeground(snetcolor);
add(snet);
id=new JTextField("1");
id.setBounds(260,200,230,35);
id.setEditable(true);
Color idcolor = new Color(173,216,230);
id.setBackground(idcolor);
Color idborder=new Color(30,144,255);
id.setBorder(new LineBorder(idborder, 3));
id.setFont(new Font("arial",Font.BOLD,20));
add(id);
validityid=new JLabel("**S-Net ID(1-230) only");
validityid.setBounds(500, 210, 200, 20);
validityid.setFont(new Font("arial",Font.PLAIN,18));
Color validityidcolor = new Color(255,99,71);
validityid.setForeground(validityidcolor);
add(validityid);
add=new JButton("ADD");
add.setBounds(180,260, 80, 35);
Color addbackground=new Color(0,0,255);
add.setBackground(addbackground);
Color border1=new Color(30,144,255);
add.setBorder(new LineBorder(border1,3));
add.setFont(new Font("arial",Font.BOLD,18));
add.setForeground(Color.WHITE);
add.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
if(mod.getSelectedItem()!=null && id.getText()!=null)
{
System.out.println("correct");
simpleset();
}
else
{
JOptionPane optionPane = new JOptionPane("Fields cannot be empty", JOptionPane.ERROR_MESSAGE);
JDialog dialog = optionPane.createDialog("FAILURE");
dialog.setAlwaysOnTop(true);
dialog.setVisible(true);
}
}
});
add(add);
devices=new JLabel("Selected S-NET device and S-NET ID");
devices.setBounds(30, 310, 450,40);
devices.setFont(new Font("arial",Font.BOLD,25));
Color deviceslabel = new Color(176,224,230);
devices.setForeground(deviceslabel);
add(devices);
String columnNames[] = { "S-NET Device","S-NET ID"};
String dataValues[][] =
{
{ "12", "234", },
{ "-123", "43", },
{ "93", "89.2", },
{ "12", "234", },
{ "-123", "43", },
};
t=new JTable();
JScrollPane s=new JScrollPane(t);
s.setBounds(30, 360, 400, 200);
Color sbcolor = new Color(128,200,242);
t.setBackground(sbcolor);
Color headercolor = new Color(152,252,252);
t.getTableHeader().setBackground(headercolor);
Color headerborder=new Color(0,0,255);
t.getTableHeader().setBorder(new LineBorder(headerborder,2));
t.getTableHeader().setFont(new Font("arial", Font.BOLD, 18));
t.setRowHeight(30);
t.setFillsViewportHeight(true);
t.setShowVerticalLines(true);
t.setShowGrid(true);
Color gridcolor=new Color(0,0,0);
t.setGridColor(gridcolor);
t.setFont(new Font("arial", Font.BOLD, 17));
Color scrollborder=new Color(15,132,210);
s.setBorder(new LineBorder(scrollborder, 4));
s.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
add(s);
configure=new JButton("CONFIGURE");
configure.setBounds(80,575, 120, 35);
Color configureborder=new Color(30,144,255);
configure.setBorder(new LineBorder(configureborder, 3));
Color configurebackground=new Color(50,205,50);
configure.setBackground(configurebackground);
configure.setFont(new Font("arial",Font.BOLD,15));
configure.setForeground(Color.WHITE);
add(configure);
delete=new JButton("DELETE");
delete.setBounds(230,575, 120, 35);
Color deleteborder=new Color(30,144,255);
delete.setBorder(new LineBorder(deleteborder, 3));
Color deletebackground=new Color(220,20,60);
delete.setBackground(deletebackground);
delete.setFont(new Font("arial",Font.BOLD,15));
delete.setForeground(Color.WHITE);
add(delete);
}
protected void simpleset()
{
// TODO Auto-generated method stub
String data=mod.getSelectedItem().toString();
System.out.println(data);
String num=id.getText();
String columnNames[] = { "S-NET Device","S-NET ID"};
Object[][] row={{data,num}};
for(int i=0;i<row.length;i++)
{
System.out.println(row[i]);
}
DefaultTableModel dtm = new DefaultTableModel(0, 0);
dtm.setColumnIdentifiers(columnNames);
List<String> list = new ArrayList<String>();
list.add(num);
list.add(data);
dtm.addRow(list.toArray());
t.setModel(dtm);
DefaultTableCellRenderer rightRenderer=new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(SwingConstants.CENTER);
t.getColumnModel().getColumn(0).setCellRenderer(rightRenderer);
t.getColumnModel().getColumn(1).setCellRenderer(rightRenderer);
}
最佳答案
您的 simpleset() 在每次调用时重新创建 TableModel。
DefaultTableModel dtm = new DefaultTableModel(0, 0);
...
t.setModel(dtm);
只需创建一次,存储为字段(或从 JTable 实例获取)并使用 addRow() 或 insertRow() 方法插入新数据。
关于java - 在 JTable 中添加第二行时删除第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29887846/
SQLite、Content provider 和 Shared Preference 之间的所有已知区别。 但我想知道什么时候需要根据情况使用 SQLite 或 Content Provider 或
警告:我正在使用一个我无法完全控制的后端,所以我正在努力解决 Backbone 中的一些注意事项,这些注意事项可能在其他地方更好地解决......不幸的是,我别无选择,只能在这里处理它们! 所以,我的
我一整天都在挣扎。我的预输入搜索表达式与远程 json 数据完美配合。但是当我尝试使用相同的 json 数据作为预取数据时,建议为空。点击第一个标志后,我收到预定义消息“无法找到任何内容...”,结果
我正在制作一个模拟 NHL 选秀彩票的程序,其中屏幕右侧应该有一个 JTextField,并且在左侧绘制弹跳的选秀球。我创建了一个名为 Ball 的类,它实现了 Runnable,并在我的主 Draf
这个问题已经有答案了: How can I calculate a time span in Java and format the output? (18 个回答) 已关闭 9 年前。 这是我的代码
我有一个 ASP.NET Web API 应用程序在我的本地 IIS 实例上运行。 Web 应用程序配置有 CORS。我调用的 Web API 方法类似于: [POST("/API/{foo}/{ba
我将用户输入的时间和日期作为: DatePicker dp = (DatePicker) findViewById(R.id.datePicker); TimePicker tp = (TimePic
放宽“邻居”的标准是否足够,或者是否有其他标准行动可以采取? 最佳答案 如果所有相邻解决方案都是 Tabu,则听起来您的 Tabu 列表的大小太长或您的释放策略太严格。一个好的 Tabu 列表长度是
我正在阅读来自 cppreference 的代码示例: #include #include #include #include template void print_queue(T& q)
我快疯了,我试图理解工具提示的行为,但没有成功。 1. 第一个问题是当我尝试通过插件(按钮 1)在点击事件中使用它时 -> 如果您转到 Fiddle,您会在“内容”内看到该函数' 每次点击都会调用该属
我在功能组件中有以下代码: const [ folder, setFolder ] = useState([]); const folderData = useContext(FolderContex
我在使用预签名网址和 AFNetworking 3.0 从 S3 获取图像时遇到问题。我可以使用 NSMutableURLRequest 和 NSURLSession 获取图像,但是当我使用 AFHT
我正在使用 Oracle ojdbc 12 和 Java 8 处理 Oracle UCP 管理器的问题。当 UCP 池启动失败时,我希望关闭它创建的连接。 当池初始化期间遇到 ORA-02391:超过
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve
引用这个plunker: https://plnkr.co/edit/GWsbdDWVvBYNMqyxzlLY?p=preview 我在 styles.css 文件和 src/app.ts 文件中指定
为什么我的条形这么细?我尝试将宽度设置为 1,它们变得非常厚。我不知道还能尝试什么。默认厚度为 0.8,这是应该的样子吗? import matplotlib.pyplot as plt import
当我编写时,查询按预期执行: SELECT id, day2.count - day1.count AS diff FROM day1 NATURAL JOIN day2; 但我真正想要的是右连接。当
我有以下时间数据: 0 08/01/16 13:07:46,335437 1 18/02/16 08:40:40,565575 2 14/01/16 22:2
一些背景知识 -我的 NodeJS 服务器在端口 3001 上运行,我的 React 应用程序在端口 3000 上运行。我在 React 应用程序 package.json 中设置了一个代理来代理对端
我面临着一个愚蠢的问题。我试图在我的 Angular 应用程序中延迟加载我的图像,我已经尝试过这个2: 但是他们都设置了 src attr 而不是 data-src,我在这里遗漏了什么吗?保留 d
我是一名优秀的程序员,十分优秀!