yan*_*niv 3 java swing swingx jxtaskpane
我编写了以下示例代码:
import org.jdesktop.swingx.*;
import javax.swing.*;
import java.awt.*;
public class TaskPaneExample{
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new TaskPaneExample();
}});
}
public TaskPaneExample() {
JFrame frame = new JFrame("TaskPane Example 1");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(doInit(), BorderLayout.CENTER);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}
private Component doInit() {
JXTaskPaneContainer taskpanecontainer = new JXTaskPaneContainer();
taskpanecontainer.setLayout(new VerticalLayout(2));
final JXTaskPane taskpane1 = new JXTaskPane(){
public void setCollapsed(boolean w){
super.setCollapsed(w);
}};
taskpane1.setTitle("First TaskPane");
JPanel panel1 = new JPanel();
panel1.setBackground(Color.red);
panel1.setSize(100,100);
taskpane1.add(panel1);
taskpanecontainer.add(taskpane1);
JXTaskPane taskpane2 = new JXTaskPane(){
public void setCollapsed(boolean w){
super.setCollapsed(w);
}};
taskpane2.setTitle("My Tasks");
JPanel panel2 = new JPanel();
panel2.setBackground(Color.blue);
panel2.setSize(100,100);
taskpane2.add(panel2);
taskpanecontainer.add(taskpane2);
taskpanecontainer.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
return taskpanecontainer;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我需要的是两件事:
taskpane2.setUI(..)选项完成的,但我没有运气使用它。JXTaskPane如何将和之间的边界设置Jpanel为零?最初,JXTaskPane 被设计为一种“固定属性”组件 - 它应该看起来与相应的本机组件(当时的 WinXP)完全相同:不支持自定义外观。因此,标题/边框的实现深深地隐藏在 XXTaskPaneUI 中 - 实际上,一切都归结为边框。
1) 正如dogbane 已经提到的,一些属性可以根据每个应用程序进行更改。请注意:这些是实现细节,可能会更改或不受具体 ui 实现的支持(Nimbus 始终是不尊重它们的好候选者,即使我们的非真正合成实现也可能不会,忘记了)
2)“gap”是contentPane的边框,你可以自己设置。再次注意:可能无法在 updateUI 中幸存(可能是 ui 委托无条件覆盖它们,如果是这样,请在 SwingX 问题跟踪器中提交问题)
((JComponent) taskpane2.getContentPane()).setBorder(BorderFactory.createEmptyBorder());
Run Code Online (Sandbox Code Playgroud)
顺便说一句:那些 panel.setSize 完全没有效果 -layoutManagers 规则;-)
| 归档时间: |
|
| 查看次数: |
4025 次 |
| 最近记录: |