小编Joh*_*dep的帖子

以编程方式检查可用的heapSize?

我正在使用Eclipse.问题是如果分配的内存少于512MB,我的应用程序崩溃.现在还有在开始大量内存穷举处理之前检查程序的可用内存吗?例如,我知道我们可以检查可用的JVM堆大小:

long heapSize = Runtime.getRuntime().totalMemory();
System.out.println("Heap Size = " + heapSize);
Run Code Online (Sandbox Code Playgroud)

问题是,这给出了JVM堆大小.即使增加它也无法使用Eclipse.在Eclipse中,如果我更改VM参数,那么它可以工作.但是,上述声明的打印输出始终相同.有没有命令我可以准确地知道我为特定应用程序分配了多少内存?

java memory jvm memory-leaks

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

MySql:将三个表合并在一起

我想将三个表合并在一起,如下所示:

将三个表T1,T2和T3合并在一起

基本上我想要包括所有三个表T1,T2和T3中的项目,并将它们合并,如结果表中所示.我试过这样的事情:

SELECT T1.user, T2.tid, T2.name, T3.type, T1.mid
FROM T1
LEFT JOIN T2 ON T1.mid = T2.mid
LEFT JOIN T3 ON T2.tid = T3.tid
GROUP BY T1.user;
Run Code Online (Sandbox Code Playgroud)

但它似乎没有奏效.它确实显示结果,但只显示唯一值.在结果if userjohny,它只显示第一个值而忽略第二个值,尽管它应该在结果表中.

有什么我想念的吗?

mysql sql join

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

在Java Swing中将JMenu对齐JMenuBar的右下角

所以,如果我有一个JMenu&JMenuBar定义如下:

jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu1.setText("About");
jMenuBar1.add(jMenu1);

// Finally
setJMenuBar(jMenuBar1);
Run Code Online (Sandbox Code Playgroud)

并且菜单"关于"菜单与菜单栏的最左侧对齐.无论如何,我可以在菜单栏的最右侧对齐此菜单吗?

java swing jmenubar jmenu

7
推荐指数
2
解决办法
2万
查看次数

在Java中获取运行文件名?

是否可以获取正在执行的文件名.例如,如果我正在运行Jar文件,并且我想在内部添加可以检测文件名的代码功能,以便在重命名此jar时,代码应该能够检测到它.

是否有可能在不扫描当前目录中的文件的情况下执行此操作?

java file absolute-path

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

使用JavaScript读取元素的CSS属性

因此,如果有一个链接到网页的css文件,例如:

<link href="style.css" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)

我想读取某个属性,例如div有className ='layout',我想用JavaScript读取这个属性的详细信息,我该怎么做?

我已经搜索了很多但几乎没有运气,请建议.

javascript css

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

在Mac上启动时,Swing GUI不会显示或显示错误

我有一个Java Swing项目,可以在Windows和Ubuntu上正常工作.我没有任何Mac,所以我无法测试它; 我使用Nimbus主题作为该项目的标准.

现在,最近我的朋友在Eclipse和导出的jar中测试了同一个项目,它提供的错误并没有引用我所做的任何特定Java类.

它确实显示了GUI,但有时它会粘住,或者有时菜单丢失.

以下是启动GUI时显示的错误版本:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.apple.laf.AquaMenuPainter.paintMenuBarBackground(AquaMenuPainter.java:123)
    at com.apple.laf.AquaMenuUI.paintBackground(AquaMenuUI.java:57)
    at com.apple.laf.AquaMenuPainter.paintMenuItem(AquaMenuPainter.java:160)
    at com.apple.laf.AquaMenuUI.paintMenuItem(AquaMenuUI.java:35)
    at javax.swing.plaf.basic.BasicMenuItemUI.paint(BasicMenuItemUI.java:452)
    at javax.swing.plaf.basic.BasicMenuItemUI.update(BasicMenuItemUI.java:448)
    at javax.swing.JComponent.paintComponent(JComponent.java:752)
    at javax.swing.JComponent.paint(JComponent.java:1029)
    at javax.swing.JComponent.paintChildren(JComponent.java:862)
    at javax.swing.JComponent.paint(JComponent.java:1038)
    at javax.swing.JComponent.paintChildren(JComponent.java:862)
    at javax.swing.JComponent.paint(JComponent.java:1038)
    at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
    at javax.swing.JComponent.paintChildren(JComponent.java:862)
    at javax.swing.JComponent.paint(JComponent.java:1038)
    at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:34)
    at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
    at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)  
Run Code Online (Sandbox Code Playgroud)

你能告诉我可能是什么问题,还是我应该在Mac上使用任何具体的外观主题?Mac上是否不支持Nimbus,如果是,那么我应该使用什么?

java macos swing look-and-feel nimbus

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

在Java Swing中通过JLabel覆盖JButton?

是否可以在Swing中将Button叠加在Label上?

例如,如果有一个带有图像的JLabel而没有文本,我想在我的JLabel上覆盖我的按钮.标签定义如下:

myLabel = new javax.swing.JLabel(new ImageIcon( myPicture ));  
Run Code Online (Sandbox Code Playgroud)

如果没有,那么任何想法我怎么能意识到这一点,谢谢.

编辑:其实我读到有关添加JPanel到JLabel,当我添加一个面板按钮布局,它编译得很好,但没有任何可见,只是JLabel与图像

更新:正如@ paranoid-android所建议的那样,我已经解决了我的问题.然而,我仍然必须知道如何自定义覆盖在JLabel顶部的组件的位置,因为我没有太多的控制(可能因为通常我使用netbeans绘制布局,这将需要硬编码).

像这样的东西有效:

ImagePanel(Image image, int id) {
    this.image = image;
    this.tile = false;

    JButton backButton = new JButton();
    JButton nextButton = new JButton();
    backButton.setText(" BACK ");
    nextButton.setText(" NEXT ");


    add(backButton);
    add(nextButton);

};

@Override
public void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
}
Run Code Online (Sandbox Code Playgroud)

java swing jlabel jbutton imageicon

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

使用snakeyaml Library在Java中将对象序列化为YAML

我对序列化没有多少经验.在尝试序列化下面类的一个简单对象时,我No JavaBean properties found exception从YAML库中得到了这个.

这是班级:

public class MyClass {
    String value;
    public MyClass(String args) {
        value = args;
    }

    public String getValue(){
        return value;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是我使用SnakeYAMAL进行序列化的方法:

import java.util.HashMap;
import java.util.Map;

import org.yaml.snakeyaml.Yaml;


public class Test {

    public static void main(String[] args) {

        MyClass obj = new MyClass("this is my data");

        Map<String, Object> data = new HashMap<String, Object>();
        data.put("MyClass", obj);
        Yaml yaml = new Yaml();
        String output = yaml.dump(data);
        System.out.println(output);
    }

}
Run Code Online (Sandbox Code Playgroud)

并在执行时抛出此异常:

Exception in thread "main" …
Run Code Online (Sandbox Code Playgroud)

java serialization snakeyaml

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

MenuListener实现,如何检测单击了哪个JMenu?

如果我已定义JMenuJMenuBar喜欢这样:

private JMenuBar jMenuBar;
private JMenu jMenu1;

jMenuBar = new JMenuBar();
jMenu1 = new JMenu();
jMenu1.setText("ABOUT");

//and here add a MenuListener so that i can detect when a menu is clicked:
jMenu1.addMenuListener(this);

jMenuBar.add(jMenu1);
setJMenuBar(jMenuBar);


//and here i implement the menulisteners

public void menuSelected(MenuEvent e) {
   //my logic here
}
public void menuDeselected(MenuEvent e) {}
public void menuCanceled(MenuEvent e) {}
Run Code Online (Sandbox Code Playgroud)

现在它工作正常.但问题是,如果我有一个以上的菜单,我怎么能区分这两个菜单.就像菜单监听器一样,我怎么知道click1来自menu1或其他菜单2?

我的意思是,如果我有另一个菜单,我也为这个菜单添加菜单监听器:

jMenu2.addMenuListener(this);
Run Code Online (Sandbox Code Playgroud)

然后我无法区分点击来自哪个菜单.我怎样才能做到这一点?

java swing jmenubar jmenu

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

在Eclipse中创建新Java项目时使用哪个JRE版本以及有哪些缺点?

在Eclipse中,当我创建新的Java Project时,我会看到以下选项:

在此输入图像描述

现在我想知道,什么是最安全的选项,考虑到我导出jar文件时,任何用户都可以使用它.如果选择显示的选项,这是否意味着如果某人有JRE 1.6,他将无法运行该jar文件,或者它是否向后兼容?

因此,我的项目没有特定的1.7依赖项.

java eclipse java-7

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