- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近刚尝试在我的项目中使用 JInternalFrame
组件,我将其嵌套在 JPanel
中。但是,我注意到JInternalFrame
的标题栏 是点状的,我不喜欢它有点。我希望它看起来像任何其他标题栏一样,如 JDialog
的标题栏是平滑和坚实的。
看起来像这样。
这是唯一在标题栏 上有点的组件。顺便说一句,我问的原因是因为我使用了 Netbeans 的 GUI Builder 来生成它。
最佳答案
正如 camickr 已经说过的,需要制作一个自定义的 BasicInternalFrameTitlePane
:
import java.awt.*;
import java.util.Arrays;
import javax.swing.*;
import javax.swing.plaf.basic.*;
import javax.swing.plaf.metal.*;
public class InternalFrameTitlePaneTest {
public JInternalFrame makeInternalFrame() {
return new JInternalFrame("basic", true, true, true, true) {
@Override public void updateUI() {
super.updateUI();
setUI(new MetalInternalFrameUI(this) {
@Override protected JComponent createNorthPane(JInternalFrame w) {
BasicInternalFrameTitlePane p = new BasicInternalFrameTitlePane(w) {
@Override public Dimension getPreferredSize() {
Dimension d = super.getPreferredSize();
d.height = 24;
return d;
}
@Override public void createButtons() {
super.createButtons();
Arrays.asList(closeButton, maxButton, iconButton).forEach(b -> {
b.setContentAreaFilled(false);
b.setBorder(BorderFactory.createEmptyBorder(2, 5, 2, 5));
});
}
};
p.setBorder(BorderFactory.createMatteBorder(
0, 0, 1, 0, MetalLookAndFeel.getPrimaryControlDarkShadow()));
return p;
}
});
}
};
}
public JComponent makeUI() {
JInternalFrame f1 = makeInternalFrame();
f1.setSize(150, 100);
f1.setLocation(0, 0);
f1.setVisible(true);
JInternalFrame f2 = new JInternalFrame("metal", true, true, true, true);
f2.setSize(150, 100);
f2.setLocation(80, 50);
f2.setVisible(true);
JDesktopPane desktop = new JDesktopPane();
desktop.add(f1);
desktop.add(f2);
return desktop;
}
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
JFrame f = new JFrame();
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.getContentPane().add(new InternalFrameTitlePaneTest().makeUI());
f.setSize(320, 240);
f.setLocationRelativeTo(null);
f.setVisible(true);
});
}
}
关于java - 删除 JInternalFrame 标题栏中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45069808/
我在让我的操作栏显示图标时遇到问题。它显示了我在溢出菜单中设置的文本/标题(三个点),但没有任何操作。这是我的代码,我错过了什么? MainActivity.java public class Mai
我正在尝试在 android 中制作一个动态操作栏,现在我正在尝试像这样在操作栏中进行搜索。 http://developer.android.com/images/ui/actionbar-sear
我正在编写 uiautomator 测试,但我很难弄清楚如何单击我的操作栏图标。 如果我的操作是“始终”显示,则很容易找到并点击。 如果我的操作是显示“从不”,我必须单击菜单,然后从菜单中单击。先点击
我有一个正在寻找特定 URI 的重写规则。当它匹配特定的 URL 时,它会使用正确的文件路径重写它,以便可以找到所需的内容。然后它将协议(protocol)更改为 HTTPS 并允许请求通过。 我有两
我正在为 android 中的 ActionBar 而苦苦挣扎。 这是我的问题:我的操作项没有显示在操作栏中,而是堆叠在操作溢出中,无论我做什么.. 我花了一天的时间寻找解决方案,但我似乎找不到缺少的
我的网络应用程序在 Tomcat 下运行,它非常密集地使用 AJAX 请求,在开发过程中我也必须密集地重新部署网络应用程序。重新部署后,我通常会简单地刷新页面,知道用户 session 已删除,但我总
我是一名优秀的程序员,十分优秀!