如果我真的想做类似的事情,我可以在JTabbedPane选项卡中放置一个JProgressBar(或它的等价物)吗?(我的意思是,不在标签本身,
我该怎么办呢?
编辑 我真的想把进度条放在标签的标题中,而不是标签本身.
这是一些ascii艺术:
----------------------------------------------------
| Tab 1 || Tab 2||Tab-with-progress-bar||Tab 4|
----------- --------------------------------
' '
' '
' '
' '
' '
' '
' '
' '
----------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
因此,它实际上是"选项卡2",目前可见,但我希望在第三个选项卡的标题中显示进度条(或等效项).
编辑2
这必须适用于Java 1.5:这必须适用于无数MacOS 10.4和MacOS 10.5 Apple计算机,这些计算机永远不会配备Java 6(有些人会这样做,有些人不会这样做:而且很多人都不会这样做,这不是我的呼叫)
我有一个消息标签和一个提交按钮.将多次按下提交按钮,每次按下的操作最多可能需要一分钟.
按下按钮时,我想将消息设置为空,在任务完成后,我想将消息设置为"完成".
private void submitActionPerformed(java.awt.event.ActionEvent evt) {
message = "";
updateMessageLabel();
doTheTask();
/* this update is apply to the label after completion */
message = "Complete";
}
Run Code Online (Sandbox Code Playgroud)
是否可以在submitActionPerformed()方法运行之前(或在方法中)更新该消息标签,但是在单击按钮之后?
我的表格上有一个JTabbedPane.问题是我想在我的TabbedPane的选项卡上显示图标.
我怎样才能做到这一点?
我刚刚开始编写视频游戏编码,我听说在JPanel上绘制所有绘图并将该面板附加到JFrame上比简单地绘制JFrame更好.我只是想知道为什么这样更好?
我正在尝试创建一个自定义单元格渲染器,它将在JTable的标题单元格中显示图像.我已经获得了使用Metal L&F的源代码,但我遇到了Nimbus的问题.在正常情况下,Nimbus显示图像就好了.但是,当表格排序时,Nimbus将绘制排序图标而不是我指定的图标.这与Metal L&F不同,因为它总是绘制我提供的图标.

有没有人知道有一种方法让Nimbus绘制图像,即使列是排序的?
我正在使用Java 6.29和Nimbus.我不能改变Java版本或L&F.
此外,我尝试做一些其他的解决方法,比如更改标签以使用HTML和img标签来显示图像,但这会产生奇怪的视觉效果.编辑文本和图像没有很好地对齐(即使img标签上有HTML对齐标签)这是一张图片,请注意Temp Hi列中的文本如何不对齐:

import java.awt.Component;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
public class ImageChangeDemo extends JFrame {
public static void main(String args[]) {
//comment out the code below to try in Metal L&F
try {
for(javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.
getInstalledLookAndFeels()) {
if("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
catch(Exception ex) {
ex.printStackTrace();
}
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new ImageChangeDemo().setVisible(true);
}
});
}
public …Run Code Online (Sandbox Code Playgroud) java ×5
swing ×5
jframe ×2
concurrency ×1
jpanel ×1
jprogressbar ×1
jtabbedpane ×1
jtable ×1
nimbus ×1