gpt4 book ai didi

java - JApplet 不显示带图像的 JPanel

转载 作者:行者123 更新时间:2023-12-01 15:38:27 25 4
gpt4 key购买 nike

您好,我使用 JApplet 来显示 Jpanel,其中包含从网络获取的图像,但小程序正在加载但未显示图像。

代码:

包 com.ntenosot;

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

import java.awt.event.*;
import java.awt.*;
import java.applet.*;

public class Cliente extends JApplet {

JTextField tf;
Lienzo lienzo;
Socket con;
ObjectOutputStream salida;
ObjectInputStream entrada;

public void init(){
System.out.println("initializing");
tf = new JTextField(10);
lienzo=new Lienzo();
setSize(1000,1000);
lienzo.setSize(900,900);
lienzo.setVisible(true);
setContentPane(lienzo);

Container container = getContentPane();
container.setBackground(Color.pink);
container.setLayout(new FlowLayout());

// Text area 1
String string = "Some text in here, Some text in here, Some text in here";
JTextArea textArea1 = new JTextArea(string, 10, 15);
container.add(new JScrollPane(textArea1));
}

public void start() {
ejecutar();
}

void ejecutar(){
System.out.println("executing1");

try{

con = new Socket("127.0.0.1",5700);
salida = new ObjectOutputStream(con.getOutputStream());
salida.flush();
entrada = new ObjectInputStream(con.getInputStream());
System.out.println("executing");
procesar();


}
catch(IOException e){
System.out.println("error");
}

}

void procesar() throws IOException {
System.out.println("processing");

try{

while(true){
ImageIcon img = (ImageIcon) entrada.readObject();
escribir(img);
}
}catch(ClassNotFoundException e){}

}

void escribir(final ImageIcon img){

SwingUtilities.invokeLater(
new Runnable(){
public void run(){
lienzo.pinta(img);
}

}
);

}

class Lienzo extends JPanel{

ImageIcon img=null ;

public void pinta(ImageIcon img){
this.img=img;
repaint();
}

public void paintComponent(Graphics g){

super.paintComponent(g);

if(img!=null)
img.paintIcon(this,g,10,10);

}


}

}

最佳答案

我没有测试你的代码,但似乎方法 procesar 无法终止。因此,init方法也不会终止。我认为你可以删除周围的 while (true) 循环,因为设置图像一次就足够了。

关于java - JApplet 不显示带图像的 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8482540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com