怎样自己做一个java控件
我想做一个java控件专门用来显示文字和图像,该怎么办?高手指教,最好能给我例子。awt和swing假设没有JTextPane,JLabel等做好了的控件,只有Conta...
我想做一个java控件专门用来显示文字和图像,该怎么办?高手指教,最好能给我例子。awt和swing
假设没有JTextPane,JLabel等做好了的控件,只有Container
或者Component 展开
假设没有JTextPane,JLabel等做好了的控件,只有Container
或者Component 展开
5个回答
展开全部
就写一个没有主函数的类不就可以了,一个实现显示文字的方法,一个实现显示图像的方法,然后在另一个类中调用,可以创建一个button,然后实现它的监听,然后执行那个类中的某个方法不就可以了,awt和swing没怎么学,写不出来
!!
!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
继承Component,重载paint把字或者图片自己画出来就是了。但是功能会少很多,不能添加别控件了。
class MyComponent extends Component {
String str = "";
MyComponent(String str) {
this.str = str;
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawString(str, 10, 10);
}
}
图片也一样,反正就是自己画。不过现成的东西都有还是用现成的把。
class MyComponent extends Component {
String str = "";
MyComponent(String str) {
this.str = str;
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawString(str, 10, 10);
}
}
图片也一样,反正就是自己画。不过现成的东西都有还是用现成的把。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
/**
* 支持写的图片格式:[BMP, bmp, jpg, JPG, jpeg, wbmp, png, JPEG, PNG, WBMP, GIF, gif]
* 支持读的图片格式:[BMP, bmp, jpg, JPG, wbmp, jpeg, png, PNG, JPEG, WBMP, GIF, gif]
*/
public class ShowBmp extends JFrame {
private static final long serialVersionUID = 1L;
public ShowBmp(String bmpFile) {
super("Java Image Viewer");
Image image = null;
try {
image = ImageIO.read(new File(bmpFile));
} catch (IOException ex) {
}
JLabel label = new JLabel(new ImageIcon(image));
add(label);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
}
public static void main(String[] args) {
final String fileName = "d:\\a.gif"; // 把这个改成你自己图片的路径
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ShowBmp(fileName).setVisible(true);
}
});
}
}
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
/**
* 支持写的图片格式:[BMP, bmp, jpg, JPG, jpeg, wbmp, png, JPEG, PNG, WBMP, GIF, gif]
* 支持读的图片格式:[BMP, bmp, jpg, JPG, wbmp, jpeg, png, PNG, JPEG, WBMP, GIF, gif]
*/
public class ShowBmp extends JFrame {
private static final long serialVersionUID = 1L;
public ShowBmp(String bmpFile) {
super("Java Image Viewer");
Image image = null;
try {
image = ImageIO.read(new File(bmpFile));
} catch (IOException ex) {
}
JLabel label = new JLabel(new ImageIcon(image));
add(label);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
}
public static void main(String[] args) {
final String fileName = "d:\\a.gif"; // 把这个改成你自己图片的路径
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ShowBmp(fileName).setVisible(true);
}
});
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果只为了显示文字和图像,为什么不用JLabel?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用JTextPane
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询