小编mre*_*mre的帖子

在Java中重置Graphics2D对象

我在Java中尝试使用Graphics2D.但像往常一样,我被困住了.:P问题是:假设我有这个代码,

Graphics2D g=(Graphics2D)(this.getGraphics()); //Inside a JFrame
g.rotate(Math.PI/8);
g.drawLine(10, 20, 65, 80);

//I want this one and all following lines to be drawn without any rotation
g.drawLine(120, 220, 625, 180);
Run Code Online (Sandbox Code Playgroud)

可能吗???我知道必须有某种方式,但我无法弄清楚.请帮忙.

java swing graphics2d

8
推荐指数
2
解决办法
6778
查看次数

如何在Java中实现固定大小的"列表"?

由于Java核心库没有这样的集合,数组是否是最佳选择,特别是如果不想依赖第三方库?

java arrays list fixed

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

调整大小时,JButton会消失

任何人都知道或了解为什么我的按钮在我调整applet大小后消失了?

这是我的代码:


import java.awt.event.*;
import javax.swing.*;
import acm.program.*;

public class button extends ConsoleProgram {

    public void init(){

        hiButton = new JButton("hi");
        add(hiButton, SOUTH);
        addActionListeners();


    }

    public   void actionPerformed(ActionEvent e){
        if(hiButton == e.getSource()){
           println("hello") ;
        }

    }
private JButton hiButton;


}

java swing jbutton

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

String get/set threadsafe?

假设我有以下内容,

public class Foo{
    private String bar;

    public String getBar(){
        return bar;
    }

    public void setBar(String bar){
        this.bar = bar;
    }
}
Run Code Online (Sandbox Code Playgroud)

由于String类的不可变特性,这些方法是自动线程安全的,还是需要一些锁定机制?

java immutability thread-safety

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

在构造函数中的try-catch块中分配final字段

所以,我正在尝试初始化一个DatagramSocket构造函数,我想要这个字段final,但我的编译器(即Eclipse)给我以下错误:

空白的最终字段datagramSocket可能尚未初始化

这是可以理解的.这是一段代码片段:

    public class Foo
    {
        private final int DEFAULT_UDPLISTENPORT = 49400;
        private final DatagramSocket datagramSocket;

        public Foo()
        {
            synchronized(this)
            {
                try
                {
                    datagramSocket = new DatagramSocket(DEFAULT_UDPLISTENPORT);
                }
                catch (SocketException e)
                {
                    // Log error
                    logger.error("Trouble opening UDP port: ", e);
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,我知道有办法绕过这个,但它需要我创建一个临时变量.这是一段代码片段:

    public class Foo
    {
        private final int DEFAULT_UDPLISTENPORT = 49400;
        private final DatagramSocket datagramSocket;

        public Foo()
        {
            synchronized(this)
            {
                DatagramSocket tempSocket = null;
                try
                {
                    tempSocket = new DatagramSocket(DEFAULT_UDPLISTENPORT); …
Run Code Online (Sandbox Code Playgroud)

java final try-catch

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

以最快和最有效的方式反向遍历ArrayList

有没有比使用ListIterator?更快,更有效的方法?

ListIterator<Integer> itr = list.listIterator(list.size());
while(itr.hasPrevious()){
    System.out.println(itr.previous());
}
Run Code Online (Sandbox Code Playgroud)

java iteration arraylist micro-optimization

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

为什么Python在多处理或多线程应用程序中不比Java好?

由于Python在GIL方面存在一些问题,因此Java更适合开发多处理应用程序.你能否以自己的方式证明java的有效处理的确切推理?

python java multithreading multiprocessing gil

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

如何在Java中呈现2d图像

我有一个关于Java的快速问题.如果这个问题非常基础,我很抱歉,但我是Java初学者:D

我想在窗口中渲染一个2D图像,但我无法弄明白.我在这里查看了图形API:

http://download.oracle.com/javase/1.4.2/docs/api/java/awt/Graphics.html

我能找到的唯一可行方法是drawImage().但是,这对我不起作用,但也许它与ImageObserver Observer参数有关?我刚刚在某处找到了一些教程,因为我发现了一些编译错误:这里是我的paint方法:

public void paint(Graphics g)
{   
    Image img1 = Toolkit.getDefaultToolkit().getImage("theImage.png");
    g.drawImage(img1, 100, 100, null);
} // public void paint(Graphics g)
Run Code Online (Sandbox Code Playgroud)

以下是调用它的方法:

public static void main(String[] args)
{
    MyGame game = new MyGame();
    game.setVisible(true);
    game.play();      

} // public static void main(String[] args)



/** The play method is where the main game loop resides. 
 */
public void play()
{
    boolean playing = true;
    //Graphics g = new Graphics();
    while (playing)
    {
        paint();
    }

} //  public void play() …
Run Code Online (Sandbox Code Playgroud)

java swing image java-2d

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

如何改变JTabbedPane的背景颜色?

我知道您可以修改LaF属性,但是如何在不执行此操作的情况下完成此操作?我只是问,因为setBackground似乎没有这样做.

请注意,我正在寻找更改以下属性:

  1. TabbedPane.background(或TabbedPane.contentAreaColor?)
  2. TabbedPane.tabAreaBackground

java swing background-color jtabbedpane

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

如何将整数格式化为四个零左的字符串?

我试图在java(Eclipse Indigo)中做类似的事情:

input - 16 (integer);
Output - "0016" ;

input - 201 (integer);
Output - "0201" ;

intput - 1716 (integer);
Output - "1716" ;
Run Code Online (Sandbox Code Playgroud)

在VB.net中我可以使用:

dim num as integer
dim str as string

str = Format(num, "0000")
Run Code Online (Sandbox Code Playgroud)

我怎么能在java中做同样的事情?提前致谢...

java eclipse string integer string-formatting

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