Applications see any keystrokes or key combinations except those reserved by OS X. You say "Java program" and not a Java applet embedded in a web site (or something exotic like HP iLO or IBM RSA), so I understand the application we are talking about here is Java and not Safari, Firefox or Chrome.
Since Ctrl+F4 is no longer configured to move focus, OS X shouldn't filter it out and Java should see it.
I don't have any explanation yet as to why your Java program doesn't seem to react to Ctrl+F4. It is difficult because there's a lot of guesswork regarding your Java program. A screenshot or some technical information (name, manufacturer, underlying protocol) would be welcome. Some information on Windows (version, service pack, whether managed by an IT department) would also be useful.
Let's start by finding out what Java sees when keys are pressed.
Create a file called KeyListener.java on your Desktop with contents:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class KeyListener {
public static void main(String[] args) {
// Create frame with specific title
Frame frame = new Frame("Example Frame");
// Create a component to add to the frame; in this case a text area with sample text
Component textArea = new TextArea("You pressed []: \n");
textArea.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent evt) {
TextArea source = (TextArea)evt.getSource();
if ( evt.isControlDown() && evt.getKeyCode() == KeyEvent.VK_F4 )
source.setText("You pressed [Ctrl+F4] : ");
else if ( evt.isControlDown() && evt.getKeyCode() == KeyEvent.VK_F2 )
source.setText("You pressed [Ctrl+F2] : ");
else
source.setText("You pressed [" + evt.getKeyText(evt.getKeyCode()) +"] : ");
}
});
// Add the components to the frame; by default, the frame has a border layout
frame.add(textArea, BorderLayout.NORTH);
// Show the frame
int width = 300;
int height = 300;
frame.setSize(width, height);
frame.setVisible(true);
}
}
[This file is basically this http://examples.javacodegeeks.com/desktop-java/awt/event/handle-key-presses-example with a small addition from here http://answers.yahoo.com/question/index?qid=20070702144519AAOiHFl]
Open Terminal and type:
cd ~/Desktop
javac KeyListener.java
and then execute it by typing this in Terminal:
java KeyListener
You will notice a new window named ExampleFrame (I'd love to post a picture, but I got the error: We're sorry, but as a spam prevention mechanism, new users aren't allowed to post images. Earn more than 10 reputation to post images.)
After disabling Ctrl+F4 in System Preferences, click the window ExampleFrame and press Ctrl+F4 (or fn+Ctrl+F4, if you haven't disabled the special behavior of function keys in System Preferences).
I see the text "You pressed [Ctrl+F4]" (tested on a MacBookPro with ML 10.8.2).
Do you also see "You pressed [Ctrl+F4]"?
-> If you do, OS X is forwarding those key presses to Java. The Java program is getting those keystrokes, but apparently is not forwarding them to Outlook.
Are you connecting to your "real" desktop (like VNC) or to some virtualized desktop (like Citrix or RDP)? (Maybe that virtualized desktop has some control keys which coincide with the ones you want to use in Outlook.)
Could it be that Ctrl+F4 is already in use on the Windows PC? (I know of several Windows notebooks with extra functions in the F-keys, like a Mac, also using some Fn key. Maybe is that Fn mapped by the Java program to Ctrl and interferes with your typing?)
I've seen that Windows also maps Ctrl+F4 to "Closes the current Multiple Document Interface (MDI) window" (http://support.microsoft.com/kb/126449). I don't have a Windows PC around, so that's more a hint then anything else.
-> If you don't ML is "intercepting" Ctrl+F4 (you could also test Ctrl+F2 - from your description I think you'll see the message "You pressed [Ctrl+F2]"). That shouldn't be the case if you disabled Ctrl+F4 in System Preferences, but maybe some other program is using it? Which is the behavior when you press the keys?
["My" Java program above uses AWT. If the Java program you use to connect to your Windows PC uses another widget toolkit, like SWT, it may behave differently and my conclusions may not apply...]