- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是一名初级程序员,正在构建一个带有按钮和滚动条的简单窗口。当我编译我的代码时,按钮上的文本被省略号截断并且图像图标不显示。我试过在 eclipse 和 NetBeans 中编译它。为了解决这个问题我已经尝试过
.setMargin(new Insets(0, 0, 0, 0));
.setPreferedSize
adding padding (I forgot the code for this)
.setBounds
以及我在互联网上偶然发现的几乎所有其他内容。这些都没有解决我的问题,我无法查看按钮中的文本和图像。
我的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FeedBar2 extends JFrame {
public FeedBar2() {
super("FeedBar 2");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// create icons
ImageIcon loadIcon = new ImageIcon("load.gif");
ImageIcon saveIcon = new ImageIcon("save.gif");
ImageIcon subscribeIcon = new ImageIcon("subscribe.gif");
ImageIcon unsubscribeIcon = new ImageIcon("unsubscribe.gif");
// create buttons
JButton load = new JButton("Load", loadIcon);
JButton save = new JButton("Save", saveIcon);
JButton subscribe = new JButton("Subscribe", subscribeIcon);
JButton unsubscribe = new JButton("Unsubscribe", unsubscribeIcon);
// add buttons to toolbar
JToolBar bar = new JToolBar();
bar.add(load);
bar.add(save);
bar.add(subscribe);
bar.add(unsubscribe);
// create menu
JMenuItem j1 = new JMenuItem("Load");
JMenuItem j2 = new JMenuItem("Save");
JMenuItem j3 = new JMenuItem("Subscribe");
JMenuItem j4 = new JMenuItem("Unsubscribe");
JMenuBar menubar = new JMenuBar();
JMenu menu = new JMenu("Feeds");
menu.add(j1);
menu.add(j2);
menu.addSeparator();
menu.add(j3);
menu.add(j4);
menubar.add(menu);
// prepare user interface
JTextArea edit = new JTextArea(8, 40);
JScrollPane scroll = new JScrollPane(edit);
BorderLayout bord = new BorderLayout();
setLayout(bord);
add("North", bar);
add("Center", scroll);
setJMenuBar(menubar);
pack();
setVisible(true);
}
public static void main(String[] arguments) {
FeedBar2 frame = new FeedBar2();
}
}
最佳答案
图像的位置一定有问题,因为它工作正常(使用 URL 图像):
import java.awt.BorderLayout;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JToolBar;
public class FeedBar2 extends JFrame {
public FeedBar2() {
super("FeedBar 2");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// create icons
ImageIcon loadIcon = null;
try {
loadIcon = new ImageIcon(new URL("http://t0.gstatic.com/images?q=tbn:ANd9GcRQgmCgdCMtXO6db7pX4UwzdvJY9-r8kI2zwE5A6c3VqB9eOR2Pe8gpqQBdeg"));
} catch (MalformedURLException ex) {
Logger.getLogger(FeedBar.class.getName()).log(Level.SEVERE, null, ex);
}
// create buttons
JButton load = new JButton("load", loadIcon);
// add buttons to toolbar
JToolBar bar = new JToolBar();
bar.add(load);
BorderLayout bord = new BorderLayout();
setLayout(bord);
add("North", bar);
pack();
setVisible(true);
}
public static void main(String[] arguments) {
FeedBar2 frame = new FeedBar2();
}
}
那么图片是否与 jar 位于同一目录中(在 netbeans 中,它们可以位于主项目目录中)?如果它们位于 jar 中,您将需要使用以下命令提取它们:getResourceAsStream
使用正确的包路径,其中包含相对于当前包的图像。
我会建议总是用你的 jar 打包你的图像,更少的问题(要在 netbeans 上做到这一点,只需将图像拖放到你当前的类包中,这将访问它们然后简单地使用确切的名称(区分大小写)到使用 getResourceAsStream
关于java - JButton 文本和图像图标被省略号截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11905626/
我正在制作一款打算在 future 进行本地化的软件。我想知道省略号(...指示一个 Action 打开一个新窗口/对话框)通常是如何本地化的。 所有语言都这样使用省略号吗?我可以在自己的代码中安全地
我正在尝试实现以下布局(请参阅下面的屏幕截图)。 如果 SPAN 和 B 都符合条件 - 它们只是一个接一个。 如果没有 - SPAN 有一个省略号,但 B 完全显示(它永远不会大于整个 block
我理解点-点-点的一般含义。当我想创建自己的参数数量未知的函数时,我了解如何使用它。 我不明白它是如何工作的,例如函数 variable.names()。当我执行 ?variable.names 时,
在 jqGrid 中,如果文本不适合并被截断,是否有一种本地方法可以在列末尾显示“...”? 我看到有一个 ui-ellipsis 类,但我很困惑,如果文本被截断,它是否会自动添加,以及一旦调整列大小
我有几个 JS 语法问题。 首先,有什么好的资源可以帮助您快速掌握与以下类似的 JS 语法? 代码中,Q1和Q2是标签吗?另外,...的用途是什么? const Q1: Query = { 'is
我正在阅读一些旧代码,这些代码似乎旨在删除目录中的一系列句点 (......)。它利用 java 正则表达式来完成此操作。这是使用的代码。 input = input.replaceAll( ".*.
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and t
我正在尝试让省略号像这样工作:http://jsfiddle.net/583mK/1/ 有趣的是,它在 jsFiddle 上运行良好。奇怪的是,它提供了完全相同的 HTML/CSS,但它在我的应用程序
我有多个不同长度的标题,我希望它们总是占用 1 行并在它们不适合时留下悬挂点/省略号 (...)。我不能只更改 div 中的文本,因为其中的 h2 每天都会自动更改。 这是我的代码:http://js
有十亿个教程,但不幸的是,没有一个对我有用。我需要一些艺术家姓名在标题中,居中,但带有 css 省略号,所以很长的名字会得到“...”并将被截断。 您可以在此处查看设计:http://www.cphr
这个问题在这里已经有了答案: text overflow ellipsis: avoid word break (3 个答案) 关闭 3 年前。 我正在显示带有省略号的文本。在我当前的 CSS 中,
我要画圈 ,就像这张图片: 我试过这段代码。 .discussion:after { content: '\2807'; font-size: 1em; background: #2d34
我在玩python。我在 IDLE 中使用了以下代码: p = [1, 2] p[1:1] = [p] print p 输出是: [1, [...], 2] 这是什么[…]?有趣的是,我现在可以将其
我对省略号很陌生,但即使我将变量分配为 false,以下内容也会返回 true。 PS:注意 if 条件。 import system.obj.* from elipsis.system; iff(e
我正在使用 alabama 包中的 constrOptim.nl 进行非线性优化。但是,我的问题更多地与传递参数(和点-点-点(省略号/“...”)和可能的 do.call)有关 - 所以我首先给出一
例如,我知道如何使用 numpy 对数组进行切片 v[1, :, :] 现在我想要一个函数将切片 (1,1,None) 作为输入并返回 v[1,:,:] 问题是我不知道如何表示省略号 最佳答案 您可以
我有一个宽度设置为 100%。里面是一个带有文本字符串的 div,如果文本宽度溢出,我想在其中添加省略号。 在 javascript 中,我设置了 的宽度到 的宽度这在加载(或刷新)时工作正常,但
有什么方法可以使用 Angular js 对字符串进行子串并在末尾添加省略号,同时忽略 anchor 标记(如果它位于子字符串内部)? 例如,我的文字是: Lorem Ipsum has been t
我不知道为什么这个简单的CSS无法正常工作... .app a { height: 18px; width: 140px; padding: 0; overflow: hidden;
这个问题在这里已经有了答案: text-overflow is not working when using display:flex (5 个答案) 关闭 3 年前。
我是一名优秀的程序员,十分优秀!