Tag: java

将图像作为JPanel的背景

我是Java新手,目前正在用graphics创build一个游戏。 我有这个类从JFrame延伸。 在这个类中,我有许多JPanel需要一个图像作为背景。 据我所知,为了能够在JPanel中绘制图像,我需要一个从JPanel扩展而来的单独的类,并且该类的paintComponent方法将完成这项工作。 但是我不想为每个JPanel单独做一个类,我有太多它们; 事实上我只关心背景。 我该怎么做? 它是与一个匿名的内部类? 怎么样? 为了更好的理解我提供了一些代码: public GUI extends JFrame { private JPanel x; … public GUI() { x = new JPanel(); // put an image background to x }

在JasperReport中将字节数组显示为图像

我有一个图像保存为一个byte[] ,我想在JasperReport中显示它的图像。 我试图从Java方法获取数据: public InputStream getImage(){ return new ByteArrayInputStream(getImageByteArray()); } 和 public Image getImage() throws IOException{ return ImageIO.read(new ByteArrayInputStream(getImageByteArray())); } 和 public String getImage(){ return new String((new org.apache.commons.codec.binary.Base64()).encode(getImageByteArray())); } 但他们似乎都没有工作。 jrxml看起来像这样: <image hAlign="Center" vAlign="Middle" isUsingCache="true" isLazy="true"> <reportElement positionType="Float" x="0" y="0" width="164" height="32" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="c63c84a8-41c7-4ca3-8451-751d43fa8a9e"/> <imageExpression><![CDATA[$P{paramObject}.getImage()]]></imageExpression> </image> 我尝试的一些东西得到exception,一些打印JasperReport,但图像应该是空白区域。 我知道图像数据在那里,因为我可以在JSF页面中显示它。 图像数据是SVG数据。

停止一个秒表

我有一个JPanel类中添加到另一个类(JFrame)的以下代码。 我想要实现的是某种秒表程序。 startBtn.addActionListener(new startListener()); class startListener implements ActionListener { public void actionPerformed(ActionEvent e) { Timer time = new Timer(); time.scheduleAtFixedRate(new Stopwatch(), 1000, 1000); } } 这是另外一个基本上任务的课。 public class Stopwatch extends TimerTask { private final double start = System.currentTimeMillis(); public void run() { double curr = System.currentTimeMillis(); System.out.println((curr – start) / 1000); } } 计时器工作正常,这是肯定远远没有完成,但我不知道如何编码应该停止计时器的停止button。 对此有何build议? […]

在'?'附近使用正确的语法

我有一个Java代码: String searchPerson = "select * from persons where surname like ? and name like ?"; //connect to DB PreparedStatement statement = connect.prepareStatement(searchPerson); statement.setString(1,"%"+ surname + "%"); statement.setString(2, "%" + name + "%"); ResultSet resultPerson = statement.executeQuery(searchPerson); //..code 然后我有SQLException: 你的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册,在“?”附近使用正确的语法。

closuresBufferedReader和System.in

Reader rdr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(rdr); String s; s = br.readLine(); br.close(); Scanner sc = new Scanner(System.in); s = sc.nextLine(); System.out.print(s); 我注意到,如果我closures了BufferedReader ,我将无法再从键盘inputinput,因为System.in被closures了。 有反正我可以保持br.close() (我需要这个为了删除一个文件),然后添加更多的input从键盘?

什么是构build我的程序的最佳方式?

这是我第一次尝试自己创build一个完整的程序,到目前为止,我一直在做单独的方法和单独的课程,所以我想听听你的想法和build议,什么是最优化的方式创build我的GUI /程序。 这个想法是,我有一个JTabbedPane作为内容的JFrame 。 JTabbedPane依次存在其他几个面板。 我正在考虑从哪里获取我需要的所有东西。 我将为Frame创build一个单独的类,为JTabbedPane另一个类,并为每个将要添加到JTabbedPane新Panel创build一个新类。 东西沿线 public class Fetcher { public Fetcher(){ JFrame frame = new theFrameClass(); // theFrameClass extends from JFrame JTabbedPane tabbedpane = new theTabbedPaneClass();// theTabbedPaneClass extends from JTabbedPane JPanel tab1 = new firstTabClass(); // firstTabClass extends from JPanel JPanel tab2 = new secondTabClass(); // etc… tabbedpane.add(tab1); tabbedpane.add(tab2); frame.add(tabbedpane); } } […]

可靠的数据服务

我如何确保我的文件服务是可靠和可扩展的? 它可以处理多less个并行请求? 我正在考虑超越硬件能力和带宽。 我正在使用Java Servletstream式处理大文件

Java的Paint方法出现问题,可笑的刷新速度

我正在开发R-Type的一个非常简单的版本作为大学的工作,但尽pipe它的工作,手艺速度是很慢,所以运动是丑陋和笨拙。 我用刷新的方法刷新屏幕,还有其他的方法或方法最好吗? 运动video 在主面板上绘制方法 @Override public void paint(Graphics g) { super.paint(g); Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.drawImage(fondo, 0, 0,1200,600,this); pj.paint(g2); g2D=g2; } PJ的油漆方法 public void paint(Graphics2D g) { g.drawImage(imagen,x,y,this); } PJ的移动方法 public void move (KeyEvent e) { int dx = 0; int dy = 0; int code = e.getKeyCode(); switch (code) { case […]

错误:在类中找不到主要方法计算,请定义主要方法为:public static void main(String args)

我需要主要方法的帮助,我得到这个错误: Error: Main method not found in class Calculate, please define the main method as: public static void main(String[] args) 代码如下: class Calculate { private double fn; private double sn; private char op; public void setNumber(double fnum, double snum){ this.fn = fnum; this.sn = snum; } public double getNumber1(){ return fn; } public double getNumber2(){ […]

如何在java中多次调用launch()

如何在java中多次调用launch()我被赋予一个exception,如“主错误:java.lang.IllegalStateException:应用程序启动不能多次调用” 我已经在我的Java应用程序中创buildrest清单,当请求来到它调用javafx和完成webview操作之后打开webview使用Platform.exit()方法closuresjavafx窗口。 当第二个请求来得到这个错误如何reslove这个错误。 JavaFx应用程序代码: public class AppWebview extends Application { public static Stage stage; @Override public void start(Stage _stage) throws Exception { stage = _stage; StackPane root = new StackPane(); WebView view = new WebView(); WebEngine engine = view.getEngine(); engine.load(PaymentServerRestAPI.BROWSER_URL); root.getChildren().add(view); engine.setJavaScriptEnabled(true); Scene scene = new Scene(root, 800, 600); stage.setScene(scene); engine.setOnResized(new EventHandler<WebEvent<Rectangle2D>>() { public void […]