
| icone.png |
| readme.txt |
============================= |
| Compilando o código no Linux: run.sh |
| #!/bin/sh javac -source 1.8 -target 1.8 -encoding UTF-8 Window.java jar cvfm WindowJAR.jar manifest.txt @Files.txt # java Window # java -jar WindowJAR.jar # java -cp WindowJAR.jar Window |
| Ou |
| #!/bin/sh javac -source 1.8 -target 1.8 -encoding UTF-8 Window.java jar cvfm WindowJAR.jar manifest.txt *.class icone.png |
Compilando o código no Windows: run.bat Observação: indique o caminho onde está o arquivo jdk no seu computador! |
| c:\javac\jdk\bin\javac -source 1.8 -target 1.8
-encoding UTF-8 Window.java c:\javac\jdk\bin\jar cvfm WindowJAR.jar manifest.txt @Files.txt |
| Ou: |
| c:\javac\jdk\bin\javac -source 1.8 -target 1.8
-encoding UTF-8 Window.java c:\javac\jdk\bin\jar cvfm WindowJAR.jar manifest.txt *.class icone.png |
| Arquivo: xpath.bat |
| set jdk=C:\Program Files\Java\jdk-25\bin\ set path=%jdk%;%path% |
| xpath |

| Files.txt |
| Window.class Window$1.class Window$2.class icone.png |
| manifest.txt |
| Manifest-Version:
1.0 Main-Class: Window Created-By: 10.0.1 (Iatagan Cursos) |
| Window.java |
| import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Window { public JFrame janela; public JButton botao; public void Window() { janela = new JFrame(); janela.setTitle("Hello World Example"); janela.setSize(200, 200); janela.setLocation(500, 260); Image Icone = Toolkit.getDefaultToolkit().getImage("icone.png"); janela.setIconImage(Icone); // janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); janela.setLayout(null); botao = new JButton(); botao.setText("Hi!"); botao.setBounds(25, 10, 150, 25); // objeto.setBounds(esquerda, topo, largura, altura) janela.add(botao); botao.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "Hello World!"); }}); janela.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); }}); janela.setVisible(true); } public static void main(String[] args) { Window jx = new Window(); jx.Window(); } } |
| 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 |
| icone.png |
| Criando Atalho no Windows: | |||
| Arquivo: Program.cs | |||
| using System; using System.IO; class Program { static void Main() { string nomePrograma = "Meu Programa"; string caminhoPrograma = @"C:\MeuApp\MeuPrograma.exe"; string imagemPrograma = @"C:\MeuApp\icone.ico"; string destino = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); CriarAtalhoComDynamic(nomePrograma, caminhoPrograma, imagemPrograma, destino); Console.WriteLine("Atalho criado com sucesso!"); Console.ReadKey(); } static void CriarAtalhoComDynamic(string nome, string exe, string icon, string pastaDestino) { string caminhoAtalho = Path.Combine(pastaDestino, nome + ".lnk"); // Cria o COM WScript.Shell em runtime (evita dependência de IWshRuntimeLibrary) Type wshType = Type.GetTypeFromProgID("WScript.Shell"); if (wshType == null) throw new InvalidOperationException("WScript.Shell não disponível neste sistema."); dynamic wsh = Activator.CreateInstance(wshType); dynamic shortcut = wsh.CreateShortcut(caminhoAtalho); shortcut.TargetPath = exe; shortcut.WorkingDirectory = Path.GetDirectoryName(exe); shortcut.IconLocation = icon; shortcut.Description = nome; shortcut.Save(); } } |
|||
Configurando o PATH do MSDOS no C#
Compilando o Código em C#
Compilando o Código em .NETO Antivirus pode bloquear o programa, então use os seguites comandos abaixos:
dotnet new console -n AtalhoApp
cd AtalhoApp
dotnet add package ShellLink |
|||
icone.png Observação: Converta icone.png para icone.ico |
|||
| Criando Atalho no MacOS: |
| icone.png |
| win.bat |
| @echo off C:\java\jdk-23\bin\java -jar WindowJAR.jar |
| win.bat |
| @echo off java -jar /java-exec/WindowJAR.jar |
Terminal |
| win.sh |
| #!/bin/sh java -jar WindowJAR.jar |
MSDOS |
| win.bat |
| @echo off java -jar WindowJAR.jar |
Linux |
| win.c - C - Linux |
| #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 - C++ - Linux |
| #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.rs - Rust - Linux |
| use std::process::Command; // rustc win.rs // ./win fn main() { let foo = Command::new("java") .args(&["-jar", "WindowJAR.jar"]) .output().unwrap(); println!("FOO: {}", String::from_utf8_lossy(&foo.stdout)); } |
Windows |
| win.cs - C# - Windows |
| //
mcs win.cs // mono win.exe class win{ public static void Main(){ System.Diagnostics.Process.Start(@"java", @"-jar WindowJAR.jar"); } } |
MacOS |
| main.swift - Swift - MacOS |
| import Foundation let p = Process() p.executableURL = URL(string: "file:///c:/java/jdk-23/bin/java.exe") p.arguments = ["-jar", "/java-exec/WindowJAR.jar"] do { try p.run() } catch { print("Error:", error.localizedDescription) } |
| main.swift |
| // Crie uma pasta teste // mkdir teste // Entre na pasta teste // cd teste // Gere o código na pasta teste // swift package init --name teste --type executable // Vai gerar o seguinte pacote na pasta teste // /teste // + // |--Package.swift // +--/Sources // |--main.swift // Abra um editor de sua preferência com o seguinte comando // notepad Sources/main.swift // Insira o código a seguir na pasta Sources no arquivo main.swift print("Hello, world!") // Compile o código na pasta teste com o seguinte comando // swift run teste // Executando o programa se for no Windows // .build\x86_64-unknown-windows-msvc\debug\teste.exe // Resultado // Hello, world! |