- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在数据库连接中使用 if...else... 语句时,它不会正确设置图标。
这是数据库及其值:
JFrame 上有两个标签,专门用于图标。现在只关注这些标签之一,因为它们的功能相同。
当提取记录时,其中一列“MSGTYPE”包含“INFORMATION”、“ANNOUNCMENT”、“AWARD”或“WARNING”。 JLabel 的图标必须将图像与消息类型相匹配,例如。如果当前记录是公告,则图标需要为“公告”图标。发生的情况是,我使用 if...else... 语句,但它默认为 else 语句。请参阅下面的代码。
try {
String sql = "Select * from app.EBULLETINS ORDER BY msgid DESC FETCH FIRST 2 ROWS ONLY";
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection con = (Connection) DriverManager.getConnection("jdbc:derby://localhost:1527/GTPADB", "some#uSERn@me, "some#P@$$w0rd");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
eBul1_Title = rs.getString("Title");
eBul1_Msg = rs.getString("Msg");
eBul1_Type = rs.getString("MSGTYPE");
}
eBul1T.setText(eBul1_Title + "/" + eBul1_Type);
eBul1M.setText(eBul1_Msg);
System.out.println("Setting Icons");
if (eBul1_Type == "INFORMATION") {
TypeImage1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Information.png")));
System.out.println("Info");
}
else if (eBul1_Type == "ANNOUNCEMENT") {
TypeImage1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/announcement.png")));
System.out.println("Announce");
}
else if (eBul1_Type == "WARNING") {
TypeImage1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Warning.png")));
System.out.println("Warning");
}
else if (eBul1_Type == "AWARD") {
TypeImage1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/award.png")));
System.out.println("Award");
}
else {
TypeImage1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Information.png")));
System.out.println("Other");
}
}
catch (Exception eB1Exc) {
JOptionPane.showMessageDialog(this, eB1Exc);
}
运行时,输出以下 printlns:
1. Setting Icons
2. Other
3. Other
JFrame也是这样显示的:(忽略不显示的字段)
* 您会注意到公告与信息具有相同的图标 *
最佳答案
问题在于String
比较。由于 ==
运算符检查,您的 if
语句不会产生 true
。
比较对象/字符串时,需要使用 equals() 方法而不是 ==。
if (eBul1_Type.equals("INFORMATION")) {
更好的是,您可以在评估字符串
时使用 switch 语句
switch (eBul1_Type) {
case "INFORMATION":
typeImage1.setIcon(...);
System.out.println("Info");
break;
case "ANNOUNCEMENT":
typeImage1.setIcon(...);
System.out.println("Info");
break;
case "WARNING":
typeImage1.setIcon(...);
System.out.println("Warning");
break;
case "Award":
typeImage1.setIcon(...);
System.out.println("Award");
break;
default:
typeImage1.setIcon(...);
System.out.println("Other");
}
如果添加/删除任何公告类型,这将提供更易于管理的语法。
关于java - setIcon 不适用于条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18683902/
我正在尝试设计一个非常简单的图形界面,我将在其中使用加载了图标的 JLabel 添加一些图像: JFrame Table = new JFrame("Transporter Room"); Table
当我在数据库连接中使用 if...else... 语句时,它不会正确设置图标。 这是数据库及其值: JFrame 上有两个标签,专门用于图标。现在只关注这些标签之一,因为它们的功能相同。 当提取记录时
这是一个小程序。该方法应将按钮上的图标设置为一组预定义的图标。但是当我启动该程序时,我得到一个 NullPointerException。 方法 public void SetIcon(boolean
我用 Qt/C++ 开发了一个文件浏览器。我正在显示文件和文件夹,但如果它是文件或文件夹,我想添加一个图标。 我用过: item->setIcon(0,*(new QIcon(":images/fil
我在文件夹上使用 NSWorkSpace setIcon:forFile:options:。 但是,虽然每次使用 API 时 API 都会返回 success(true),但有时文件夹上的图标不会更新
我有一个显示硬币图片的程序。当用户点击硬币时,硬币会从正面变为反面,反之亦然。效果很好。当我想要一个按钮来随机翻转硬币几次(在本例中为 3 到 10 次(包括 3 到 10 次))时,问题就出现了。改
!( /image/5NtNP.jpg ) 我想在读取数组时更新图像的顺序...所以我尝试将图像的目的地作为变量,然后在需要更改顺序时更改变量,但这不起作用。 JLabel no3 = new
我正在学习java但是.. 为什么它没有改变?如果我将其放入按钮的操作监听器中,我可以使用设置的图标更改图标:| 主类 package tstando; public class executor {
我正在编写一个相当长的代码,它运行得非常好。它突然停止工作,我让其他人测试它并确认它对他们也不起作用。我还尝试回滚代码,甚至几天前也没有任何变化。我放置了一堆 System.out.Println()
我正在为 Java Swing 编写这个 Google map 组件。我只需要使用谷歌静态 map 。我希望 map 根据读取用户输入的按钮操作进行更新,但包装在 JLabel 中的图像不会更新。 我
我的代码: private JButton stopBotting = new JButton(); ImageIcon img = new ImageIcon(getClass().getResou
我正在尝试为 jLabel 对象设置图标,但它不起作用。我使用一种方法,如果 .getClass().getResource(path) 不同于 null,则返回 ImageIcon 对象,如果资源为
目前我正在使用 netbeans 制作一个基于更改按钮中的图像的 java 程序.... 实际上我的要求是当我单击另一个按钮(说A)时更改按钮的图像图标...... 我想出了以下程序......
我在 fragment A 中有 menuItem,menuItem.setIcon 第一次工作正常,但是当我添加 fragment B(而不是替换)并返回到 fragment A 时,menuIte
我正在尝试在单击标记时动态更改标记的图标。我在 map 上有多个标记(通过数据库查询收集),这是我目前使用的代码 - 所有非常标准的东西: function initialize() {
我有一段代码是这样的: jLabel.setIcon(map); Graphics2D g = (Graphics2D) jLabel.getGraphics(); g.drawPolygon(xpo
我正在 NetBeans 中创建一个 Java 应用程序,我有以下代码,有时会在单击按钮将提供的图像和字符串放入放置在 GUI 中的 JLabel 后调用 build 者: helpLabel.set
我制作了一个 JLabel,我在其中显示我的图像,如下所示: BufferedImage myimage; imageLabel.setIcon(new ImageIcon(myimage)); 是否
书中的示例代码: @Overridepublic boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu)
我刚开始使用 Qt,我一直在尝试让一个按钮显示一个图标,但由于某种原因我无法让它工作。这是我的代码 QPushButton* button = new QPushButton(); button->s
我是一名优秀的程序员,十分优秀!