小编Chr*_*ith的帖子

如何编写一个接受x类型数组的方法和另一个与数组类型相同的变量

我想写一个接受数组和其他东西的泛型方法.每种都可以是任何类型,但它们必须是相同的.我尝试了这个,但我仍然可以在方法中输入任何内容.

public static <T> boolean arrayContains(T[] array, T object){
    return Arrays.asList(array).contains(object);
}
Run Code Online (Sandbox Code Playgroud)

我可以调用这个方法,arrayContains(new String[]{"stuff"}, new Pig())但我只想接受它arrayContains(new String[]{"stuff"}, "more stuff")

java generics

5
推荐指数
1
解决办法
514
查看次数

JLabel 中的自定义字体被截断

我有一个 JLabel,我已为其设置了自定义字体“BP Diet”。如果我将其添加到 JFrame,文本显示正常,但一旦我将 JFrame 的布局更改为 FlowLayout,文本的顶部就会被切断。当您将 JLabel 添加到 JPanel 并将其添加到 JFrame 时,也会出现同样的问题。我可以在http://www.hichris.com/more/files/BPdiet.otf找到该字体

下面是代码:

import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.net.URL;

public class FontSizeTest {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JLabel label = new JLabel(
                "AaBbCcDdEeFfGgHhIiJjKk");
        label.setFont(createFont());
        frame.add(label);
        frame.pack();
        frame.setMinimumSize(frame.getMinimumSize());
        frame.setVisible(true);
    }

    static Font createFont() {
        Font customFont = null;
        try {
            URL url = new URL("http://www.hichris.com/more/files/BPdiet.otf");
            InputStream is = url.openStream();
            customFont = Font.createFont(Font.TRUETYPE_FONT, is);
            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            ge.registerFont(customFont); …
Run Code Online (Sandbox Code Playgroud)

java fonts swing jlabel flowlayout

2
推荐指数
1
解决办法
1297
查看次数

调用repaint()时字符串字体大小更小

当我绘制一个字符串时g.drawString(),生成的文本小于设置的字体.如果您运行以下代码,您可以看到显示所需的字体大小,然后在调用之前repaint()我尝试过的第二个线程调用时显示较小的字体,但这没有帮助.有任何想法吗?SwingUtilities.invokeLater()repaint

import java.awt.Font;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test {
    static JPanel   panel;

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        panel = new JPanel() {
            private static final long   serialVersionUID    = 1L;

            public void paint(Graphics g) {
                g.clearRect(0, 0, panel.getWidth(), panel.getHeight());
                g.drawString("TEST", 20, 100);// Where I draw the string
            }
        };
        panel.setFont(new Font("Arial", Font.BOLD, 30));// The desired font
        frame.add(panel);
        frame.setSize(500, 500);
        frame.setVisible(true);
        new Thread() {// This thread …
Run Code Online (Sandbox Code Playgroud)

java paint font-size

2
推荐指数
1
解决办法
89
查看次数

ProGuard Java 库路径

我有一个保存的 ProGuard 东西,在里面,我有这行:

-libraryjars /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar
Run Code Online (Sandbox Code Playgroud)

我在 Linux 和 Windows 上都使用这个配置文件。我有一个便携式硬盘驱动器,上面有这个文件和我得到的参考库,我可以使用../lib/aLibrary.jar. 有没有办法可以在两个平台上获取 rt.jar 的位置,这样我就不必更改 jar 的路径?

java proguard

1
推荐指数
1
解决办法
1509
查看次数

隐藏root时,JTree无法看到扩展树图标

当我创建一个JTree并调用时setRootVisible(false),我看不到小树打开图标,我仍然可以双击节点来展开它但是在第一级看不到它们.有任何想法吗?

java swing jtree

1
推荐指数
1
解决办法
532
查看次数

标签 统计

java ×5

swing ×2

flowlayout ×1

font-size ×1

fonts ×1

generics ×1

jlabel ×1

jtree ×1

paint ×1

proguard ×1