Tag: border

paintComponent()正在绘制其他组件

我正在使用基于此答案中的代码的自定义类来绘制形状像讲话泡泡的背景。 每当我调整应用程序窗口的大小足以使组件在顶部或底部突出时,所述组件的轮廓将被绘制在JScrollPane之外的其他组件之上; 在这种情况下是JPanel 。 在左侧图像中,由于组件仍然可见,因此绘制了JScrollPane底部组件的边框; 而在右侧图像中,所提到的组件不再可见,一切看起来都是预期的。 我认为这与我使用JScrollPane来包含组件并因此允许组件在JPanel下滑动这一事实有关。 我该如何防止这种情况? 主要: public class Main { public static void main(String[] args) { JPanel panel = new JPanel(), panelbar = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panelbar.setLayout(new FlowLayout()); JScrollPane scroll = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); JFrame frame = new JFrame(“”); frame.setLayout(new BorderLayout()); frame.setSize(200, 223); for (int i = 0; i […]

如何为具有圆角的JDialog设置3D边框?

我可以在我的JDialog中添加圆角边框,如在Java Swing中如何创建圆角标题边框 。 但它仍然是一种颜色。 我想让边框看起来像3D。 这是我尝试的方式。 Graphics2D g2d = (Graphics2D) g; Color c1 = getBackground(); Color c2 = color1.darker(); int w = getWidth(); int h = getHeight(); GradientPaint gp = new GradientPaint( 0, 0, c1, 0, h, c2); g2d.setPaint(gp); g2d.fill3DRect(0,0, w, h,true); 然后,没有3D外观,但边框已经扩大了边框颜色。 我怎样才能做到这一点? 任何示例代码或链接将受到高度赞赏。

Java JTable禁用单个单元格选择边框高亮显示

我有一个JTable,每行有三列,见图: 出于某种原因,取决于我选择的列,我在上面的图像中得到它周围的小深蓝色边框(V140116554)。 我目前用它来选择整行: vTable.setRowSelectionAllowed(true); 我怎么能禁用它? 编辑: 添加了一个类: public class VisitorRenderer extends DefaultTableCellRenderer { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); setBorder(noFocusBorder); return this; } } 并补充说: vTable.setDefaultRenderer(String.class, new VisitorRenderer()); 但仍然得到边界

更改AWT TextField的边框颜色

在AWT应用程序中,我需要设置TextField的边框颜色。 在JTextField中,我知道我们可以做到以下几点 JTextField tf = new JTextField(); tf.setBorder(BorderFactory.createLineBorder(Color.decode(“#2C6791”))); 但是在awt TextField中无法使用setBorder()方法。 这个问题有解决方法吗?

在Java中为图像添加边框

我试图创建一个图像,通过将像素从旧位置复制到新坐标,在Java上为现有图像添加边框。 到目前为止,这就是我所做的: public static NewPic border (NewPic p, int borderWidth, Pixel borderColor) { int w = p.getWidth(); int h = p.getHeight(); Pixel src[][] = p.getBitmap(); Pixel tgt[][] = new Pixel[h][w]; for (int x = 0; x < w; x++) { for (int y = 0; y < h; y++) { tgt[y][x + y + borderWidth] […]

像Firefox一样使用标题制作JPanel边框

我想在我的应用程序中创建一个选项对话框。 在这个对话框中,我想制作一些用边框和标题包围的区域。 我想要的一个例子是Firefox: 我怎样才能在Java中做类似的事情?

如何删除自定义按钮边框上的“妊娠纹”?

在按钮的Graphics2D对象上执行一些自定义绘制时,我得到以下结果: 最左边的按钮未被遮挡而另一个按钮被切换。 如您所见,切换按钮具有这些白色“妊娠纹”。 为什么会有这些以及如何删除它们? 这是我用来绘制边框的代码: // Draw border of button if(!getModel().isSelected()) { g2.fillRoundRect(2, 2, getWidth() – 5, getHeight() – 5, ARC_WIDTH, ARC_HEIGHT); g2.setColor(Color.BLACK); g2.drawRoundRect(0, 0, getWidth() – 1, getHeight() – 1, ARC_WIDTH, ARC_HEIGHT); g2.setColor(Color.WHITE); g2.drawRoundRect(1, 1, getWidth() – 3, getHeight() – 3, ARC_WIDTH, ARC_HEIGHT); g2.setColor(Color.WHITE); g2.drawRoundRect(2, 2, getWidth() – 5, getHeight() – 5, ARC_WIDTH, ARC_HEIGHT); […]

Java Swing – 如何在JPanel的TitledBorder上更改字体大小?

我需要能够以编程方式更改Swing应用程序中所有组件的字体大小。 我不能以通常的方式(使用UIManager或putClientProperty)执行此操作,因为我正在使用Nimbus外观,所以使用以下方法来单独增加应用程序中每个组件的字体大小… private void enlargeFont(java.awt.Component c, float factor) { c.setFont(c.getFont().deriveFont(c.getFont().getSize() * factor)); } 我遇到的问题是我在我的JPanel上使用TitledBorder并且(可以预见)将我的JPanel传递给上面的方法并不会调整JPanel的边框标题。 那么有什么方法可以改变边框的字体大小? (如果我能得到边框的文本,我可以创建一个新的TitledBorder(使用更大的字体),然后将其应用于JPanel的setBorder()方法……但似乎无法获得边框文本(?)。 有没有人对如何解决有任何建议?

如何更改JComboBox弹出部分的边框?

我不想改变JComboBox的弹出/选择部分的边框。 请注意,UI是BasicComboBoxUI 我试过了: weaponCB.setRenderer(new DefaultListCellRenderer() { @Override public void paint(Graphics g) { setBorder(whiteBorder) //whiteBorder is a white border super.paint(g); } }); 但它给了我这个: 和: for (int i=0; i<weaponCB.getComponentCount(); i++) { if (weaponCB.getComponent(i) instanceof AbstractButton) { ((AbstractButton)weaponCB.getComponent(i)).setBorder(whiteBorder); } } 但它给了我这个: 我不想是这样的:(它是在photoshop中完成的) 我不介意它是不是完全相同,我只是不相似。 有没有人对如何做到这一点有任何想法?

如何在Openstreetmap中突出显示MapMarkerDot?

我使用http://svn.openstreetmap.org/applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java中的代码来获取我的swing应用程序的地图并运行。 我添加了一些MapMarkerDot来指示我的地图中的一些点,并使用我如何从我的JMapViewer世界地图中获取鼠标点击位置以确定是否已经选择了一个点,但我如何才能真正显示已选择特定的MapMarkerDot? 我想添加一些类似于http://bikes.oobrien.com/london/#zoom=14&lon=-0.1155&lat=51.4992的边框,但到目前为止我还没有看到成功。 任何建议/参考都很受欢迎。 谢谢!