Código Java 100% correto

Ícone

icone.png

readme.txt
*****************************
=============================
Installation package
=============================
Linux:

Java:
sudo apt install openjdk-8-jdk

C#:
sudo apt install mono-runtime
sudo apt install mono-mcs
*****************************
=============================
Linux
=============================
chmod +x run.sh
./run.sh
java Window
java -jar WindowJAR.jar
java -cp WindowJAR.jar Window
*****************************
=============================
Windows
=============================
run
java Window
java -jar WindowJAR.jar
java -cp WindowJAR.jar Window
*****************************
=============================
Run
=============================
C
=============================
gcc win.c -o win
./win
=============================
C++
=============================
g++ win.cpp -o win
./win
=============================
C#
=============================
mcs win.cs
mono win.exe
=============================
HTML
=============================
Window.html (Por motivo de
Segurança Applets não são
mais usados)
=============================
JNLP
=============================
javaJNLP.jnlp (Por motivo
de Segurança Applets não
são mais usados)
*****************************
=============================
Criando um Atalho no linux
=============================
ln -s /home/computador/java/win exemplo
Compilando o código no Linux: run.sh
#!/bin/sh
javac -encoding UTF-8 Window.java
jar cvfm WindowJAR.jar manifest.txt @Files.txt
# java Window
# java -jar WindowJAR.jar
# java -cp WindowJAR.jar Window
Compilando o código no Windows: run.bat
c:\javac\jdk\bin\javac -encoding UTF-8 Window.java
c:\javac\jdk\bin\jar cvfm WindowJAR.jar manifest.txt @Files.txt

Files.txt
Window.class
Layout_1$1.class
WindowPrincipal.class
Layout_1.class
Window_1$1.class
Window_1.class
LayoutPrincipal.class
WindowWebApplet.class
icone.png
manifest.txt
Manifest-Version: 1.0
Main-Class: Window
Created-By: 10.0.1 (Iatagan Cursos)
Window.java
public class Window {

   public WindowPrincipal frame;
   public WindowWebApplet frame2;

   public void Window(){
      frame = new WindowPrincipal();
      frame2 = new WindowWebApplet();

      frame._WindowPrincipal();
   }

   public static void main(String[] args) {
      Window jx = new Window();
      jx.Window();
   }

}
WindowPrincipal.java
public class WindowPrincipal {

   public Window_1 frame1;

   public void WindowPrincipal(){
   }

   public void _WindowPrincipal(){
      frame1 = new Window_1();
      frame1._Window_1();
   }

}
WindowWebApplet.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/*
         Por motivos de segurança
         Applets em navegadores
         estão desativados

         Use o HTML5
*/

public class WindowWebApplet {

   public JApplet frame;
   public LayoutPrincipal layout;

   public void WindowWebApplet(){
   }

   public void _WindowWebApplet(){
      frame = new JApplet();

      Container ct = frame.getContentPane();
      ct.setLayout(null);
      layout = new LayoutPrincipal();

      ct.add(layout._LayoutPrincipal());

      frame.setVisible(true);

   }

}
Window.html
<!DOCTYPE HTML>
<html lang="pt-br">
<head>
   <meta charset="UTF-8">
   <title>Window</title>
</head>
<body>
<!--
         Por motivos de segurança
         Applets em navegadores
         estão desativados

         Use o HTML5
-->
   <applet code="WindowWebApplet.class" archive="WindowJAR.jar" width="200" height="200">
   </APPLET>
</body>
</html>
Window_1.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Window_1 {

   public JFrame frame;
   public LayoutPrincipal layout;

   public void Window_1(){
   }

   public void _Window_1(){
      frame = new JFrame();
      frame.setTitle("Hello World Example");
      frame.setSize(200,200);
      frame.setLocation(500, 260);

      Image Icone = Toolkit.getDefaultToolkit().getImage("icone.png");
      frame.setIconImage(Icone);

      // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      Container ct = frame.getContentPane();
      ct.setLayout(null);
      layout = new LayoutPrincipal();

      ct.add(layout._LayoutPrincipal());

      frame.setVisible(true);

      frame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            System.exit(0);
      }});

   }
}
LayoutPrincipal.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class LayoutPrincipal {

   public JPanel painelPrincipal;
   public Layout_1 layout1;

   public void LayoutPrincipal(){
   }

   public JPanel _LayoutPrincipal(){
      painelPrincipal = new JPanel();
      painelPrincipal.setLayout(null);
      painelPrincipal.setBounds(0, 0, 200,200);

      layout1 = new Layout_1();

      painelPrincipal.add(layout1._Layout_1());

      return painelPrincipal;
   }
}
Layout_1.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Layout_1{

   public JButton botao;
   public JPanel painel;

   public void Layout_1(){
   }

   public JPanel _Layout_1(){
      painel = new JPanel();
      painel.setLayout(null);
      painel.setBounds(0, 0, 200, 200);

      botao = new JButton();
      botao.setText("Hi!");
      botao.setBounds(25,10,150,25); // objeto.setBounds(esquerda, topo, largura, altura)
      painel.add(botao);
      botao.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            JOptionPane.showMessageDialog(null, "Hello World!");
      }});

      return painel;

   }

}

Criando um Atalho no Linux

Criando Atalho no Linux:
exemplo.desktop
[Desktop Entry]
Name=Exemplo
Exec=/home/computador/java/exemplo.sh
Icon=/home/computador/java/icone.png
Terminal=false
Type=Application
#No Ubuntu insira este arquivo na pasta: /usr/share/applications

Outros

exemplo.sh
#!/bin/sh
java -jar /home/computador/java/WindowJAR.jar
win.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
// gcc win.c -o win
// ./win
int main(int argc, char **argv){

   int rowsX = 3;
   char **X = calloc(rowsX,sizeof(char*));
   X[0] = "java";
   X[1] = "-jar";
   X[2] = "WindowJAR.jar";
   X[3] = NULL;
   execvp("java",X);
}
win.cpp
#include <stdio.h>
#include <unistd.h>
// g++ win.cpp -o win
// ./win
int main(int argc, char **argv){
   char** x;
   x = new char*[4]{"java","-jar", "WindowJAR.jar", NULL};
   execvp("java",x);
}
win.cs
// mcs win.cs
// mono win.exe
class win{
   public static void Main(){
      System.Diagnostics.Process.Start(@"java", @"-jar WindowJAR.jar");
   }
}
javaJNLP.html
<!DOCTYPE HTML>
<html lang="pt-br">
   <head>
   <meta charset="UTF-8">
      <title>Java JNLP </title>
   </head>
   <body>
      <a href="JavaJNLP.jnlp">Testando o jnlp do Java.</a>
   </body>
</html>
javaJNLP.jnlp
<?xml version="1.0" encoding="iso-8859-15"?>
<!--
         Por motivos de segurança
         JNLP em servidores
         estão desativados

         Use o HTML5
-->
<jnlp spec="1.0+" codebase="http://localhost/java">
<information>
<title>Hello World</title>
<vendor>Jorge Luiz Gouveia Sousa</vendor>
<description>Run: Hello World</description>
<offline-allowed/>
</information>
<resources>
<j2se version="1.6+"/>
<jar href="WindowJAR.jar"/>
</resources>
<application-desc main-class="Window"/>
</jnlp>